class X
{
Y b = new Y();//3.执行该语句,加载类Y,输出Y
X()
{
System.out.print("X");//4.执行父类构造函数,输出X
}
}
class Y
{
Y()
{
System.out.print("Y");
}
}
public class Z extends X
{
Y y = new Y();//5.加载完父类构造函数,开始执行子类中的语句.此语句又加载类Y,打印Y
Z()
{
System.out.print("Z");//6.最后执行子类构造函数,打印Z
}
public static void main(String[] args)//1.程序入口:main函数
{
new Z();//2.new一个Z类的对象,发现函数继承类X,加载X类
}
}
不知道是不是这么个执行顺序,请大神指点!!!! |