【发布时间】:2020-01-07 20:43:24
【问题描述】:
我对以下代码的输出有什么疑问,更重要的是 - 为什么会这样?
class Animal {
public void makePair(Animal a) {
System.out.println("A pair of animals");
}
}
class Shark extends Animal{
public void makePair(Shark s) {
System.out.println("A pair of sharks");
}
}
class Duck extends Animal {
public void makePair(Duck d) {
System.out.println("A pair of ducks");
}
}
public class Main {
public static void main(String[] args) {
Shark bruce = new Shark();
Shark anchor = new Shark();
Animal donald = new Duck();
Duck daffy = new Duck();
bruce.makePair(anchor);
donald.makePair(daffy);
anchor.makePair(daffy);
}
}
【问题讨论】:
-
你试过运行你的代码吗?如果是这样,它输出了什么?如果没有,为什么不呢?
标签: java inheritance methods binding overloading