java多态张三喂公鸡事例
时间: 2023-07-19 20:35:01 浏览: 107
java 多态实例
好的,我可以给你一个关于Java多态的例子,假设有一个动物类Animal,其中有一个eat()方法。然后有一个鸟类Bird和一个哺乳动物类Mammal,它们都继承自Animal类并且都有自己实现的eat()方法。现在我们再定义一个主人类Owner,其中有一个喂食的方法feed(Animal animal)。在这个方法中,我们通过传入一个Animal对象实现对不同动物的喂食。比如,张三喂公鸡吃大米的代码可以如下所示:
```
class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
class Bird extends Animal {
public void eat() {
System.out.println("Bird is pecking.");
}
}
class Mammal extends Animal {
public void eat() {
System.out.println("Mammal is chewing.");
}
}
class Owner {
public void feed(Animal animal) {
animal.eat();
}
}
public class Main {
public static void main(String[] args) {
Owner zhangsan = new Owner();
Bird bird = new Bird();
zhangsan.feed(bird); // 输出 Bird is pecking.
}
}
```
在这个例子中,我们通过Owner的feed(Animal animal)方法将Bird对象传递给了Animal类型的参数animal,实际上在编译时animal的类型是Animal,但在运行时它的类型是Bird,这就是Java多态的体现。最终输出结果为"Bird is pecking."。
阅读全文