非静态字段的初始化其实都在构造器中,优先执行 静态方法
package com.hp.deom; import com.hp.demo.Demo; public class demo { private static demo d = new demo(); private SubClass t = new SubClass();//可以看成在demo构造函数中t=new SubClass() static { System.out.println(3); } public demo() {
System.out.println(4);}public static void main(String [] args){System.out.println("Hello");}}class SuperClass{SuperClass(){System.out.println("构造SuperClass");}}class SubClass{static {System.out.println(1);}public SubClass(){System.out.println(2);}} 运行结果//t=new SubClass();
1
2
4
3
Hello