创建对象时,先初始化类的成员变量/成员对象,再执行构造函数。
package com........test;
public class Test {
public static void main(String[] args){
House house =new House();
house.f();
}
}
class House{
Window w1 =new Window(1);
House(){
System.out.println("House()");
w3 = new Window(3);
}
Window w2 =new Window(2);
void f(){
System.out.println("f()");
}
Window w3 =new Window(3);
}
class Window{
Window(int marker){
System.out.println("Window("+marker+")");
}
}
输出结果:
Window(1)
Window(2)
Window(3)
House()
Window(3)
f()