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);
}public class OrderOfInitialization { public static void main(String[] args) {
// TODO Auto-generated method stub
House h=new House();
h.f();
}}
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);
}public class OrderOfInitialization { public static void main(String[] args) {
// TODO Auto-generated method stub
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);//第五,你将它放在其它方法后面也没有办法,这是按顺序的。
}public class OrderOfInitialization {public static void main(String[] args) {//第一
// TODO Auto-generated method stub
House h=new House();//第二
h.f();//第八
}
}
1,为类属性分配空间
2,给属性赋默认值
2,递归调用父类构造器并初始化父类属性
3,初始化本类属性
4,执行本类构造器中的语句
然后,为对象创建一个对象引用
楼主可以结合楼上所给答案,再细细体味一下。