package m.y;public class Duck {
Duck(int er){
System.out.println("Window(" + er + ")");
}
public static void main(String[] args) {
House h = new House();
h.f();
}
}
class House{
Duck w1 = new Duck(1);
House(){
System.out.println("House()");
w3 = new Duck(33);
}
Duck w2 = new Duck(2);
void f(){
System.out.println("f()");
}
Duck w3 = new Duck(3);
}第一次用这种方式插入代码也不知道行不行..再下想问一下
他的输出为什么是
Window(1)
Window(2)
Window(3)
House()
Window(33)
f()
呢?为什么将w1放在House构造函数之下他的值也不变呢..
Duck w1 = new Duck(1);//打印出Window(1)
Duck w3 = new Duck(2);//打印出Window(3)
Duck w4 = new Duck(3);//打印出Window(3)
然后才是执行House的构造函数的内容
System.out.println("House()");//打印出House()
w3 = new Duck(33);//打印出Window(33)
然后h.f()调用f()方法打印出f()
结果应该是Window(2)
Window(3)
Window(1)
House()
Window(33)
f()