@RitcheeQinG
2020-05-06T08:06:35.000000Z
字数 765
阅读 262
Java
测试类:
public class InitializeClass {
static {
System.out.println("Outer Class static()");
}
public InitializeClass() {
System.out.println("Outer Class instance()");
InnerClassA classA = new InnerClassA();
}
public static class InnerClassA {
private static int A = getA();
private static int getA() {
System.out.println("Inner Class Variable A");
return 1;
}
private static int getB() {
System.out.println("Inner Class Variable B");
return 1;
}
static {
System.out.println("Inner Class static()");
}
private static int B = getB();
public InnerClassA() {
System.out.println("Inner Class instance()");
}
}
public static void main(String[] args) {
new InitializeClass();
}
}
输出:
Outer Class static()
Outer Class instance()
Inner Class Variable A
Inner Class static()
Inner Class Variable B
Inner Class instance()
可见静态内部类static{}
的初始化时机在实例化流程开始之后
静态变量一样