Java中的回调函数
时间: 2024-11-04 17:08:29 浏览: 5
基于Java 谈回调函数
在Java中,虽然不像JavaScript那样直接支持将函数作为参数传递,但可以通过设计模式和泛型等方式间接实现类似的功能。最常见的回调机制是通过接口或者匿名内部类来创建回调函数。例如,你可以定义一个`Runnable`接口,其只有一个方法`run()`,这就是一个无参的回调函数。
下面是一个简单的例子:
```java
public interface Callback {
void onCompletion(String result);
}
public class Operation {
public void execute(Callback callback) {
// 异步操作...
new Thread(() -> {
try {
String result = doSomething();
callback.onCompletion(result);
} catch (Exception e) {
callback.onCompletion("Error occurred");
}
}).start();
}
private String doSomething() {
// ...实际操作...
}
}
```
在这个例子中,`execute`方法接受一个实现了`Callback`接口的对象,当操作完成时,会调用它的`onCompletion`方法。这允许你在执行耗时的操作时,提供一个自定义的行为来处理结果。
阅读全文