Java回调函数实现案例

解决方案 同时被 2 个专栏收录
88 篇文章 0 订阅
106 篇文章 3 订阅

1、什么是回调函数

        回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。在Java中,指针即所谓的引用。回调函数不是由该函数的实现方直接调用,而是在特定的事件条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

        回调方法 是 任何一个 被 以该回调方法为其第一个参数 的 其它方法 调用 的方法。很多时候,回调是一个当某些事件发生时被调用的方法。

2、应用场景

事件驱动机制

举例:甲雇佣乙修车;然后甲就去做其他事情;乙完成后通知甲:车已修好,请来取。即甲没必要一直等待乙修完车。

3、代码示例

1、测试类

package com.callBack;
public class CallBckTest {

    public static void main(String[] args) {
        MainBusiness mainBusiness = new MainBusiness();

        System.out.println("*********具体实现类实现的回调方法_固定*********");
        mainBusiness.execute(new CallbackServiceImpl());

        System.out.println("*********匿名内部类实现的回调方法_灵活*********");
        mainBusiness.execute(new CallbackService() {
            public void callBackFunc() {
                System.out.println("匿名内部类回调函数开始执行...");
                System.out.println("匿名内部类回调函数结束执行...\n");
            }
        });
    }
}

2、业务类与方法 

package com.callBack;
public class MainBusiness {

    private CallbackService callback;

    public void execute(CallbackService callback) {
        this.callback = callback;
        callBack();
    }

    public void callBack() {
        callback.callBackFunc();
    }
}

3、回调函数接口 

package com.callBack;
//回调函数之接口与方法
public interface CallbackService {
    void callBackFunc();
}

4、回调函数实现类

package com.callBack;
public class CallbackServiceImpl implements CallbackService {
    @Override
    public void callBackFunc() {
        System.out.println("具体实现类回调函数开始执行...");
        System.out.println("具体实现类回调函数结束执行...\n");
    }
}

5、打印结果

*********具体实现类实现的回调方法_固定*********
具体实现类回调函数开始执行...
具体实现类回调函数结束执行...

*********匿名内部类实现的回调方法_灵活*********
匿名内部类回调函数开始执行...
匿名内部类回调函数结束执行...

 

 

  • 0
    点赞
  • 0
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值