@RitcheeQinG
2020-05-06T08:06:35.000000Z
字数 765
阅读 322
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 AInner Class static()Inner Class Variable BInner Class instance()
可见静态内部类static{}的初始化时机在实例化流程开始之后
静态变量一样