Java函数的回调函数使用示例
发布时间:2023-07-04 10:32:23
回调函数是一种将函数作为参数传递给另一个函数,并在需要时调用该函数的方法。在Java中,可以使用接口来实现回调函数。
以下是一个使用回调函数的示例:
// 定义一个回调函数接口
interface Callback {
void onResult(String result);
}
// 需要回调函数的类
class Worker {
// 执行耗时任务的方法,任务完成后调用回调函数
void doWork(Callback callback) {
// 模拟耗时任务
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 任务完成后调用回调函数
callback.onResult("Task completed");
}
}
// 使用回调函数的示例
public class Main {
public static void main(String[] args) {
Worker worker = new Worker();
// 创建一个回调函数实例
Callback callback = new Callback() {
@Override
public void onResult(String result) {
System.out.println("Callback result: " + result);
}
};
// 调用doWork方法并传入回调函数
worker.doWork(callback);
}
}
在上面的示例中,我们定义了一个回调函数接口Callback,其中onResult方法接受一个字符串参数。然后,我们创建了一个Worker类,其中的doWork方法接受一个回调函数作为参数。在doWork方法中,我们模拟了一个耗时的任务,并在任务完成后调用传入的回调函数的onResult方法。
在Main类中,我们创建了一个Worker实例和一个回调函数实例,并调用doWork方法传入回调函数。当任务完成后,回调函数的onResult方法会被调用,并打印出结果。
通过使用回调函数,我们可以在任务完成后执行一些额外的逻辑,而不需要在任务方法中直接编写该逻辑。这样可以提高代码的灵活性和可重用性。
需要注意的是,回调函数是在任务完成后被调用的,因此如果回调函数的执行时间过长,可能会影响任务的性能。因此,在使用回调函数时,需要合理设计回调函数的逻辑,以保证任务的性能和响应速度。
