定义:
所谓回调方法,就是调用方把一个需要被回调的方法作为参数,传递给要调用的方法,被调用的方法执行完成后,通过该参数返回来调用此方法,作为参数传递的该方法就称作回调方法。实际上是一种双向的调用方式
实际场景
在项目开发中,需要各个模块或者对象之间的消息传递,A模块某些方法,需要在B模块满足某些条件下来主动通知并调用A模块的方法,这就是典型的回调应用场景。如果是比较耗时的调用,采用该方法可以避免同步阻塞。
上代码:
public class Request {public static void main(String[] args) {new Thread(() -> new Response().handle("handle something", data -> System.out.println("回调方法,收到数据:" + data))).start();}
}class Response {public void handle(String msg, CallBack callBack) {System.out.println("接收到调用方入参msg=:" + msg);try {//模拟业务处理耗时3sTimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}callBack.onResponse("请求完成,响应success");}
}interface CallBack {void onResponse(String data);
}