// 定义一个接口,作为回调的类型
interface Callback {
void call();
}
public class Main {
// 一个接受回调函数的方法
public static void executeWithCallback(Callback callback) {
System.out.println("开始执行任务...");
// 模拟一些任务
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("任务完成,调用回调函数...");
// 执行回调函数
callback.call();
}
public static void main(String[] args) {
// 使用匿名内部类实现回调
executeWithCallback(new Callback() {
@Override
public void call() {
System.out.println("回调函数被调用了!");
}
});
// 使用Lambda表达式实现回调(Java 8及以上)
executeWithCallback(() -> System.out.println("Lambda回调函数被调用了!"));
}
}
Callback 接口:定义了一个 call
方法,作为回调函数的类型。任何实现了这个接口的对象都可以作为回调函数传递。
executeWithCallback 方法:该方法接受一个 Callback
类型的参数,并在任务完成后调用其 call
方法,即触发回调。
匿名内部类:在 main
方法中,通过匿名内部类的方式实现了 Callback
接口,并传入 executeWithCallback
方法。当任务完成后,会调用匿名类中的 call
方法。
Lambda 表达式:从 Java 8 开始,可以使用 Lambda 表达式简化回调函数的实现。Lambda 表达式使得代码更加简洁,减少了样板代码。
通过这种方式,回调函数可以在任务完成后执行特定的操作,比如更新 UI、处理数据等。
下一篇:java 相对路径
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站