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()时,静态代码块也不会执行了
转载于:https://blog.51cto.com/13579086/2065723