public class OrderOfInitialization { public static void main(String[] args) {
House h = new House();
h.f();
}
}class Window{
Window(int er){
System.out.println("Window("+ er+")");
}
}class House{
Window w1 = new Window(1);;
House(){
System.out.println("House()");
w3 = new Window(33);
}
Window w2 = new Window(2);
void f(){
System.out.println("f()");
}
Window w3 = new Window(3);
}
House h = new House();
h.f();
}
}class Window{
Window(int er){
System.out.println("Window("+ er+")");
}
}class House{
Window w1 = new Window(1);;
House(){
System.out.println("House()");
w3 = new Window(33);
}
Window w2 = new Window(2);
void f(){
System.out.println("f()");
}
Window w3 = new Window(3);
}
2.初始化成员w1、w2、w3
3.调用h的构造方法,输出house(),并给w3赋值
4.调用h.f()方法
public class OrderOfInitialization { public static void main(String[] args) {
House h = new House(); // 1
h.f(); // 10
}
}
class Window{
Window(int er){
System.out.println("Window("+ er+")"); // 3 5 7
}
}
class House{
Window w1 = new Window(1); // 2
House(){
System.out.println("House()"); // 8
w3 = new Window(33); // 9
}
Window w2 = new Window(2); // 4
void f(){
System.out.println("f()"); // 11
}
Window w3 = new Window(3); // 6
}