以下代码:
public class Son{Father father = new Father();static{System.out.println("Son static");}public Son(){System.out.println("Son()");}}public class Father {static{System.out.println("Father static");}public Father(){System.out.println("Father()");}}public class Main {public static void main(String[] args){ Son son = new Son(); }}
结果:
Son static
Father static
Father()
Son()
总结:
先执行static代码块,再初始化成员变量,再执行构造方法。