java 回调接口Callback<R>
时间: 2024-09-11 12:09:02 浏览: 24
在Java编程语言中,回调接口Callback<R>是一种设计模式,允许一个方法在执行完毕后通过回调接口来调用另一个方法,以完成后续的处理工作。这种模式在异步编程、事件处理以及某些算法中非常常见,它实现了松耦合的设计,使得组件之间的交互更加灵活。
通常,回调接口会包含一个或多个方法,这些方法定义了回调的“契约”,即在特定事件发生后需要执行的操作。在实现回调接口时,需要定义一个类来实现接口中声明的所有方法。当需要触发回调时,可以创建这个实现类的实例,并将其作为参数传递给需要回调的方法或对象。
一个简单的例子是使用回调接口进行异步计算的结果通知:
```java
public interface Callback<R> {
void onResult(R result);
}
public class Calculator {
public void calculateAsync(int number, Callback<Integer> callback) {
// 异步计算...
int result = number * number; // 假设这是计算结果
callback.onResult(result); // 当计算完成时,调用回调
}
}
// 使用回调接口进行异步计算
Calculator calculator = new Calculator();
calculator.calculateAsync(10, new Callback<Integer>() {
@Override
public void onResult(Integer result) {
System.out.println("计算结果是: " + result);
}
});
```
在这个例子中,`Callback<Integer>`是一个泛型回调接口,它定义了一个`onResult`方法用于处理计算结果。`Calculator`类的`calculateAsync`方法接受一个整数和一个`Callback<Integer>`接口的实现,当异步计算完成时,会调用`onResult`方法,并将结果作为参数传递。