public class Test { public static void main(String[] args) { Child c = new Child(); //第一步:生成对象,调用子类构造方法; } }class Father { public Father() { System.out.println("父类无参构造函数"); } public Father(String name) { //第四步:打印; System.out.println("父类有参构造函数"); } }class Child extends Father { public Child() { this("dd"); //第二步,调用Child类的有参构造方法; System.out.println("子类无参构造函数"); } public Child(String name) { super("dd"); //第三步,调用父类的有参构造方法; System.out.println("子类有参构造函数"); } } 所以从最里层开始打印;
{
public static void main(String[] args)
{
Child c = new Child(); //第一步:生成对象,调用子类构造方法;
}
}class Father
{
public Father()
{
System.out.println("父类无参构造函数");
} public Father(String name)
{
//第四步:打印;
System.out.println("父类有参构造函数");
}
}class Child extends Father
{
public Child()
{
this("dd"); //第二步,调用Child类的有参构造方法;
System.out.println("子类无参构造函数");
} public Child(String name)
{
super("dd"); //第三步,调用父类的有参构造方法;
System.out.println("子类有参构造函数");
}
}
所以从最里层开始打印;