一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只执行一次,静态代码块经常用来进行类属性的初始化。
如下例所示:
1 class Person
2 {
3 public Person()
4 {
5 System.out.println("1. public Person()");
6 }
7 //此段代码会首先被执行
8 static
9 {
10 System.out.println("2. Person类的静态代码块被调用!");
11 }
12 }
13 public class text2 {
14
15 //运行本程序时,静态代码块会被自动执行
16 static
17 {
18 System.out.println("3. text2类的静态代码块被调用!");
19 }
20 public static void main(String[] args) {
21 // TODO Auto-generated method stub
22 System.out.println("4. 程序开始执行!");
23 //产生两个实例化对象
24 new Person();
25 new Person();
26 }
27
28 }
运行结果为:
3. text2类的静态代码块被调用!
4. 程序开始执行!
2. Person类的静态代码块被调用!
1. public Person()
1. public Person()
程序首先执行text2类,所以此程序的静态代码块会首先被执行。