帮我写一个java回调方法
时间: 2024-10-21 14:09:12 浏览: 14
Java回调方法详解
在Java中,回调函数是一种设计模式,它允许你在某个操作完成后自动调用另一个方法。这种机制通常用于异步编程,比如处理网络请求、定时任务或者其他需要等待结果的操作。下面是一个简单的例子,展示如何定义一个回调接口和使用它:
```java
// 定义一个回调接口
public interface Callback {
void onSuccess(String result); // 成功时调用这个方法
void onFailure(Throwable error); // 失败时调用这个方法
}
// 使用回调的示例
public class AsyncTaskExample {
private final Callback callback;
public AsyncTaskExample(Callback callback) {
this.callback = callback;
}
public void fetchDataFromServer() {
// 模拟异步网络请求
new Thread(() -> {
try {
// 假设这是从服务器获取数据的结果
String data = "Data from server";
if (data != null) {
callback.onSuccess(data);
} else {
callback.onFailure(new Exception("Failed to fetch data"));
}
} catch (Exception e) {
callback.onFailure(e);
}
}).start();
}
}
// 调用时提供一个实现了Callback的类
public static void main(String[] args) {
CallbackHandler handler = new CallbackHandler();
AsyncTaskExample task = new AsyncTaskExample(handler);
task.fetchDataFromServer();
}
// 实现Callback的类
class CallbackHandler implements Callback {
@Override
public void onSuccess(String result) {
System.out.println("Fetch completed successfully: " + result);
}
@Override
public void onFailure(Throwable error) {
System.out.println("Fetch failed: " + error.getMessage());
}
}
```
阅读全文