一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只执行一次,静态代码块经常用来进行类属性的初始化。如下面的程序代码所示:
class Person2 {
public Person2() {
System.out.println("1.public Person()");
}
// 此段代码会首先被执行
static {
System.out.println("2.Person类的静态代码块被调用!");
}
}
public class TestStaticDemo5 {
// 运行本程序时,静态代码块会被自动执行
static {
System.out.println("3.TestStaticDemo5类的静态代码块被调用!");
}
public static void main(String[] args) {
System.out.println("4.程序开始执行!");
// 产生两个实例化对象
new Person2();
new Person2();
}
}
输出结果:
3.TestStaticDemo5类的静态代码块被调用!
4.程序开始执行!
2.Person类的静态代码块被调用!
1.public Person()
1.public Person()
综上,表示静态代码块在类被载入时,静态代码块被执行,且只执行一次,