猿问

为什么会加载父类Creature的构造器

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的无参构造器啊

阑珊rain4420806
浏览 1340回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答