等价的代码:
class X
{
Y b;
X()
{
super();
b = new Y();
System.out.print("X");
}
}class Y
{
Y()
{
super();
System.out.print("Y");
}
}public class Z extends X
{
Y y; Z()
{
super();
y = new Y();
System.out.print("Z");
} public static void main(String[] args)
{
new Z();
}
}明白了吧
class X
{
Y b;
X()
{
super();
b = new Y();
System.out.print("X");
}
}class Y
{
Y()
{
super();
System.out.print("Y");
}
}public class Z extends X
{
Y y; Z()
{
super();
y = new Y();
System.out.print("Z");
} public static void main(String[] args)
{
new Z();
}
}明白了吧
1、Y b = new Y();
2、执行X的构造函数里的;
3、执行Y y = new Y();
4、执行Z的构造函数里的;
第一个Y是z父类的,也就是X的