class Animal{
void eat(Animal animal){
System.out.println("animal eats animal");
}
}
public class Dog extends Animal{
void eat(Dog dog){
System.out.println("dog eats dog");
}
public static void main(String[] args) {
Animal a = new Dog();
Dog b = new Dog();
a.eat(b);
b.eat(b);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,输出将是
动物吃动物
狗吃狗
为什么会这样?