回调 callback ,字面意思是回电话
    我的简单的理解,调用方法时,把某个方法当作入参,被调用方法执行流程中调用了这个入参,其行为称为回调。
    再简单点,具体到java, 入参是一个声明好的对象,方法体里调了这个对象中的方法。
    没错,这种代码经常写,就是回调。

    回调是异步的体现。
    举个实在的例子,场景:调用某个方法得到结果,并打印结果。 这个场景是最常见的。
    把其改为回调的方式: 调用方法并入参一个打印方法(java中把对象作为方法的载体),被调用者计算出结果后,不再返回,而是调用打印方法。
    这其实实现了异步(虽然还是阻塞的),调用者不用等待方法的返回。 被调用者用回调的方式实现打印。

    以下是实现:
    把 calculate(1,2 , new Netty01());

    1. public class Netty01 {
    2. //调用者
    3. public static void main(String[] args) {
    4. calculate(1,2 , new Netty01());
    5. }
    6. //回调方法
    7. public static void print(String s){
    8. System.out.println(s);
    9. }
    10. //处理方法, netty01就是传进来的回调方法
    11. public static void calculate(int a , int b , Netty01 netty01){
    12. int c = a+b;
    13. netty01.print(String.valueOf(c)); //回调
    14. }
    15. }

    在知乎上看到这样的解释:
    一般写程序是你调用系统的API,如果把关系反过来,你写一个函数,让系统调用你的函数,那就是回调了,那个被系统调用的函数就是回调函数。

    只要是回调,就会有约定,或者说是接口。