而静态内部类并没有被加载(注:静态内部类中的静态代码块没有执行),且类的加载顺序必定会在初始化的前面,所有看到先执行了静态代码块中的代码,其次执行了构造方法中的代码,完成上面两部后最后才打印出了静态变量
外部类初次加载,会初始化静态变量、静态代码块、静态方法,但不会加载内部类和静态内部类。 实例化外部类,调用外部类的静态方法、静态变量,则外部类必须先进行加载,但只加载一次。 直接调用静态内部类时,外部类不会加载。
System.out.println("静态内部类静态块加载时间:" + System.currentTimeMillis());} } class InnerClass { public long INNER_DATE = 0;public InnerClass() { INNER_DATE = System.currentTimeMillis();} } } 1、当外部内静态变量被调⽤ public static void main(String[] args) { StaticClass ...