编写代码,实现Bird类同时拥有吃(eat)和飞(fly)的功能,输出"鸟吃虫子"、"鸟在天上飞"。
时间: 2024-09-09 13:09:43 浏览: 79
目标检测夜晚红外检测飞行物-飞机无人机直升机鸟类数据集7550张4类VOC+YOLO(视频截取增强).zip
5星 · 资源好评率100%
好的,我们可以创建一个名为`Bird`的抽象基类,定义两个方法`eat()`和`fly()`,然后为具体的鸟(比如`Eagle`或`Pigeon`)子类重写这些方法并添加适当的逻辑。这里有一个简单的示例:
```java
// 定义Bird抽象基类
abstract class Bird {
// 方法 eat() 和 fly()
public abstract void eat();
public abstract void fly();
// 具体行为
protected void performAction(String action, String object) {
System.out.println(action + " " + object);
}
}
// 子类 Eagle 实现 eat() 和 fly()
class Eagle extends Bird {
@Override
public void eat() {
this.performAction("鸟吃", "虫子");
}
@Override
public void fly() {
this.performAction("鸟在天上", "飞");
}
}
public class Main {
public static void main(String[] args) {
// 创建一个 Eagle 对象并调用其方法
Eagle eagle = new Eagle();
eagle.eat(); // 输出 "鸟吃虫子"
eagle.fly(); // 输出 "鸟在天上飞"
}
}
```
在这个例子中,`Eagle`类继承了`Bird`类,并实现了`eat()`和`fly()`方法。当我们实例化`Eagle`并在`main`方法中调用这些方法时,它们会按照预期执行。
阅读全文