public class Z extends X{
Y y=new Y();
Z(){
System.out.println("z");
}
public static void main(String[] arg){
new Z();
}
}
class X{
Y b=new Y();
X(){
System.out.print("x");
}
}
class Y{
Y(){
System.out.print("y");
}
}
执行 new Z()这句的时候 应该是先调用Z的父类X的构造函数是然后在调用子类的构造函数是的吧 但是为什么会执行 Y y=new Y()这句呢? 明明Y y=new Y()这句话不再X的构造函数内的吧 难道是我理解错误了。希望那位朋友能够帮帮忙解释一下 不甚感激。