java中静态代码块何时调用:
public class StaticTest {
public static String STATE = "a";
public static void initStaticTest(){
System.out.println("init.....");
}
static {
System.out.println("static started.....");
}
public static void main(String[] args) {
// StaticTest staticTest = new StaticTest();
// System.out.println(StaticTest.STATE);
StaticTest.initStaticTest();
}
}
静态代码块在如下3个状态时会加载,并且静态代码块只会调用一次
1.创建对象时
2.调用静态方法时
3.调用静态变量时



