(相关资料图)
注意 只有显式的加载类 JVM才会加载到内存中
注意引用类型没进行赋值操作初始化为null 并不会显式的加载类
又存在静态代码块 会先执行前者进行初始化 再执行静态代码块存在父类先执行父类
public class Test { static B b=new B(); //这里存在实例 会加载类B 类A A a =new A(); static { System.out.println("test static"); } public Test(){ System.out.println("test constructor"); } { System.out.println("test module"); } public static void main(String[] args) { //A1-->B1-->A2-->A3-->B2-->B3-->TEST STATIC }}class A{ static { System.out.println("A1"); } { System.out.println("A2"); } public A(){ System.out.println("A3"); }}class B extends A{ static { System.out.println("B1"); } { System.out.println("B2"); } public B(){ System.out.println("B3"); }}