在类的内部 变量定义的顺序决定了初始化顺序
public class VarInitiallization { public static void main(String[] args){ House h = new House(); h.f(); } } class Window{ Window(int marker){ System.out.println("w"+marker); } } class House{ Window w1=new Window(1); House(){ System.out.println("Hosue"); w3 = new Window(33); } Window w2=new Window(2); void f(){System.out.println("f()");} Window w3=new Window(3); }
w1 w2 w3 Hosue w33 f()
w3被初始化两次 第一次初始化的对象不再被引用 则垃圾回收器将回收对象