举一个java回调函数的例子
时间: 2023-06-30 19:21:15 浏览: 118
在Java中,回调函数通常通过接口实现。以下是一个简单的回调函数示例:
```java
public interface Callback {
void onSuccess(String result);
void onFailure(String error);
}
public class AsyncTask {
public void execute(Callback callback) {
// 模拟异步操作
new Thread(() -> {
try {
Thread.sleep(3000); // 模拟耗时操作
callback.onSuccess("Success"); // 回调成功方法
} catch (InterruptedException e) {
callback.onFailure("Error: " + e.getMessage()); // 回调失败方法
}
}).start();
}
}
public class Main {
public static void main(String[] args) {
AsyncTask task = new AsyncTask();
task.execute(new Callback() {
@Override
public void onSuccess(String result) {
System.out.println(result);
}
@Override
public void onFailure(String error) {
System.err.println(error);
}
});
}
}
```
在这个例子中,AsyncTask类模拟了一个异步操作,它接收一个Callback接口作为参数。在execute()方法内部,它启动了一个新线程来模拟耗时操作,完成后通过回调函数的onSuccess()或onFailure()方法通知调用者。在Main类中,我们创建了一个AsyncTask对象,并实现了Callback接口的两个方法,在execute()方法中传入此回调对象,以便在异步操作完成后接收通知。
阅读全文