class Creature { //Creature的无参构造器 public Creature(){ System.out.println("Creature无参数的构造器"); } } class Animal extends Creature{ public Animal(String name){ System.out.println("Animal带一个参数的构造器," + "该动物的name为" + name); } public Animal(String name,int age){ this(name); //使用this调用同一个重载的构造器 System.out.println("Animal带两个参数的构造器," + "其age为" + age); } } public class Wolf extends Animal{ public Wolf(){ super("灰太狼",3); //显示调用父类有两个参数的构造器 System.out.println("wolf无参数的构造器"); } public static void main(String[] args){ new Wolf(); } }
输出结果:
Creature无参数的构造器
Animal带一个参数的构造器,该动物的name为灰太狼
Animal带两个参数的构造器,其age为3
wolf无参数的构造器
不明白为什么会调用Creature的无参构造器,Creature的子类Animal和Animal的子类Wolf都没有调用Creature的无参构造器啊
相关分类