用动物举一个JAVA接口回调的例子
时间: 2023-06-25 11:04:20 浏览: 102
假设有一个动物园类 Zoo,里面有一个方法 feedAnimals(),该方法需要接收一个接口 AnimalFoodProvider。AnimalFoodProvider 接口中有一个方法 provideFood(),用于提供食物。
那么,我们可以定义一个动物类 Animal,该类实现 AnimalFoodProvider 接口,并实现 provideFood() 方法,用于提供食物。当 feedAnimals() 方法被调用时,Zoo 类会调用 Animal 类的 provideFood() 方法,从而为动物提供食物。
以下是代码示例:
```java
interface AnimalFoodProvider {
void provideFood();
}
class Animal implements AnimalFoodProvider {
String name;
public Animal(String name) {
this.name = name;
}
@Override
public void provideFood() {
System.out.println(name + " is eating.");
}
}
class Zoo {
public void feedAnimals(AnimalFoodProvider provider) {
provider.provideFood();
}
}
public class Main {
public static void main(String[] args) {
Zoo zoo = new Zoo();
Animal tiger = new Animal("Tiger");
Animal deer = new Animal("Deer");
zoo.feedAnimals(tiger);
zoo.feedAnimals(deer);
}
}
```
在上面的例子中,Animal 类实现了 AnimalFoodProvider 接口,并提供了 provideFood() 方法。Zoo 类中的 feedAnimals() 方法接收一个 AnimalFoodProvider 接口类型的参数,当该方法被调用时,Animal 类的 provideFood() 方法会被调用,从而为动物提供食物。在 main 方法中,我们创建了两个 Animal 对象,并将它们传递给 feedAnimals() 方法,从而为它们提供食物。
阅读全文