Java用多态实现给宠物喂食
时间: 2024-11-27 10:18:56 浏览: 7
在Java中,通过多态可以实现类似“喂食”这样的通用操作,无论面对的是狗、猫还是鸟等不同类型的宠物。假设有一个`Pet`接口,它定义了喂食的基本动作,然后有具体的实现类如`Dog`, `Cat`, 和 `Bird` 这些动物类,它们各自重写了`Pet`接口中的`feed()`方法。
```java
// 宠物接口
public interface Pet {
void feed();
}
// 动物类实现了Pet接口
class Dog implements Pet {
@Override
public void feed() {
System.out.println("给狗狗喂食");
}
}
class Cat implements Pet {
@Override
public void feed() {
System.out.println("给猫咪喂食");
}
}
class Bird implements Pet {
@Override
public void feed() {
System.out.println("给小鸟喂食");
}
}
// 主程序
public class Main {
public static void main(String[] args) {
// 创建宠物列表
List<Pet> pets = new ArrayList<>();
pets.add(new Dog());
pets.add(new Cat());
pets.add(new Bird());
// 使用统一的动作喂食
for (Pet pet : pets) {
pet.feed(); // 输出相应的喂食信息,体现了多态
}
}
}
```
在这个例子中,虽然我们不知道具体是哪种类型的宠物,但是通过`Pet`接口引用,我们可以对所有类型的宠物执行同样的喂食操作。这就是多态带来的灵活性和代码复用的优势。
阅读全文