综合练习3:吃水果创建 一个抽 象的水果类,类中有一个获取水果 名称的抽象方法。 创建人类,人类有个吃的方法,参数类型为水果类型,并可以在控制台打印吃了什么。请用匿名类创建吃方法的参数,让人类吃苹果和香蕉。
时间: 2024-12-21 11:26:56 浏览: 0
(中小学教育)一(下)3单元练习题1.doc
在Java中,你可以通过创建一个抽象类和具体的子类来实现这个综合练习。首先,我们会创建一个抽象的`Fruit`类,它包含一个抽象方法`getFruitName()`。然后,我们可以创建一个`Human`类,它有一个方法`eat(Fruit fruit)`,在这个方法中接受任意类型的水果作为参数。
```java
// 抽象的水果类
public abstract class Fruit {
// 抽象方法,获取水果名称
public abstract String getFruitName();
}
// 具体的人类类
public class Human {
// 吃水果的方法,接受Fruit类型的参数
public void eat(Fruit fruit) {
System.out.println("人类正在吃:" + fruit.getFruitName());
}
}
// 匿名类用于创建并实例化具体的水果
public class Main {
public static void main(String[] args) {
// 使用匿名类创造苹果
Human.eat(new Fruit() {
@Override
public String getFruitName() {
return "苹果";
}
});
// 使用匿名类创造香蕉
Human.eat(new Fruit() {
@Override
public String getFruitName() {
return "香蕉";
}
});
}
}
```
在这个例子中,虽然`eat`方法期望的是`Fruit`类型的参数,但由于我们使用了匿名内部类,它们分别实现了`getFruitName`方法,所以可以直接传给`eat`方法。运行这段程序,你会看到"人类正在吃:苹果"和"人类正在吃:香蕉"这样的输出。
阅读全文