package Day21;
class X
{
Y b = new Y();
X()
{
System.out.print("X");
}
}
class Y
{
Y()
{
System.out.print("Y");
}
}
public class Test1 extends X
{
Y y = new Y();
Test1()
{
super();//这里省略这个.
System.out.print("Z");
}
public static void main(String[] args)
{
new Test1();//程序会先加载Test1,加载成员.遇到类Y->加载Y的构造函数->加载Test1的构造函数,因为它继承了X类,会先调用父类
//的构造函数,载加类X,X类中有Y的成员,调用Y的构造函数.->加载完后,调用Test1类的.
//说明,只要程序中New了新的成员,就会加载其类,并在栈内存开辟空间.
}
} |