1. 格式
static{静态代码块中执行的代码}
2. 什么时候执行
随着类的加载而加载, 并且只执行一次
3. 作用
用于给类初始化
4. 特点
优先于主函数执行, 在静态方法之前执行
public class Test {
static {
System.out.println("a");
}
public static void main(String[] args) {
Demo d1 = new Demo();
Demo d2 = new Demo();
d1.method();
d2.method();
new Demo();
System.out.println("over");
}
}
class Demo {
static {
System.out.println("b");
}
public static void method() {
System.out.println("c");
}
}
答案:
a
b
c
c
over
解说: 因为 new Demo() 时 (第一次) 已经加载到内存中, 第二次再 new Demo() 时, 静态代码块也不会执行了
来源: http://www.bubuko.com/infodetail-2476664.html