static { System.out.println("Astatic"); } { System.out.println("I'm A class"); } }
publicstaticclassBextendsA{ publicint a = 1;
publicvoidfun(){ System.out.println("B"); }
static { System.out.println("Bstatic"); } { System.out.println("I'm B class"); } }
publicstaticvoidmain(String[] args){ // 里面的static块方法,new了就会执行 // new new B()两个都执行,new new A()执行A的 //static代码块在{}代码块后面执行 A classA = new B(); System.out.println(classA.a); classA.fun(); // 输出信息 // Astatic // Bstatic // I'm A class // I'm B class // 1 // B