class Animal{
public Ainmal(){
System.out.println("我是动物");
}
}
class Cat extends Animal{ 还需要一个void
public cat(){
System.out.println("我是猫");
}
}
class PersiaCat extends Cat{
public PersiaCat(){
System.out.println("我是波斯猫");
}
}
public class Test{
public static void main(String[] args){
Animal animal = new PersiaCat();
}
}
请务必解释下为什么是这个运行结果!
原因:
虽然,构造方法不能继承,但是有个super(),在构造方法中的第一行隐含执行。
所以我们可以首先补全,加上super(),变成上面的代码。
故而结果:
我是动物
我是猫
我是波斯猫
为什么