猴子吃香蕉java代码
时间: 2024-10-20 09:18:47 浏览: 40
在Java中,猴子吃香蕉这个简单的例子通常用于展示多态的概念。我们可以创建一个"动物"的抽象父类,然后定义"猴子"和"猴子"的一个子类"猩猩",它们都实现了吃香蕉的行为。这里是一个简化的示例:
```java
// 定义一个抽象的动物类 Animal
abstract class Animal {
public abstract void eat(Food food);
}
// 创建香蕉类 Food
class Banana extends Food {
// 香蕉本身不需要做任何事情
}
// 抽象的食物类 Food
class Food {
String name;
public Food(String name) {
this.name = name;
}
public abstract void eatenBy(Animal eater);
}
// 猴子和猩猩类继承自 Animal 并覆盖 eat 方法
class Monkey extends Animal {
@Override
public void eat(Banana banana) {
System.out.println("猴子正在吃香蕉:" + banana.name);
}
@Override
public void eat(Food food) {
if (food instanceof Banana) {
eat((Banana) food); // 优先处理香蕉
} else {
System.out.println("猴子能吃其他食物");
}
}
}
class Gorilla extends Animal {
@Override
public void eat(Banana banana) {
System.out.println("猩猩也喜欢吃香蕉:" + banana.name);
}
// 其他同理,只需覆盖eat方法并处理香蕉即可
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Monkey();
Animal animal2 = new Gorilla();
animal1.eat(new Banana()); // 输出 "猴子正在吃香蕉:..."
animal2.eat(new Banana()); // 输出 "猩猩也喜欢吃香蕉:..."
// 这里演示了多态性,尽管animal1和animal2指向的是不同的子类实例,但是它们共享相同的父类引用,所以都可以调用eat方法
}
}
```
阅读全文