51,410
社区成员
发帖
与我相关
我的任务
分享
class 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调用同一个重载的构造器
this(name);
System.out.println("Animal带2个参数的构造器,其age为" + age);
}
}
public class Wolf extends Animal
{
public Wolf()
{
//显式调用父类有2个参数的构造器
super("土狼", 3);
System.out.println("Wolf无参数的构造器");
}
public static void main(String[] args)
{
new Wolf();
}
}
class Creature
{
public Creature()
{
System.out.println( "Creature无参数的构造器 "); //1父类会被Animal(String name)隐式调用
}
}
class Animal extends Creature
{
public Animal(String name) {
System.out.println( "Animal带一个参数的构造器,该动物的name为 " + name); //2被本类的Animal(String name, int age)调用
}
public Animal(String name , int age) {
//使用this调用同一个重载的构造器
this(name);
System.out.println( "Animal带2个参数的构造器,其age为 " + age); //3被子类Wolf调用
}
}
public class Wolf extends Animal
{
public Wolf()
{
//显式调用父类有2个参数的构造器
super( "土狼 ", 3);
System.out.println( "Wolf无参数的构造器 "); //4最后打印
}
public static void main(String[] args)
{
new Wolf();
}
}