class Animal{
public void move(){
System.out.println("动物可以移动");
}
}
class Dog extends Animal{
public void move(){
System.out.println("狗可以跑和走");
}
public void bark(){
System.out.println("狗可以吠叫");
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
b.bark();
}
}
正确答案: D 你的答案: A (错误)
正确答案: D 你的答案: A (错误)
A. 动物可以移动
狗可以跑和走
狗可以吠叫
B. 动物可以移动
动物可以移动
狗可以吠叫
C. 运行错误
D. 编译错误
编译错误:
Animal中没有定义Bark方法
Dog继承自Animal。
Dog初始化Anima对象时,完成对Animal对象中的方法的覆盖和隐藏。也就是b.move()和b.bark()方法。
Animal中本身并没没有bark()方法,不存在被覆盖的情况。所以无法访问