Java实现回调函数

以下是两种典型用法,方法2如同js随便绑回调函数,推荐

public class CCCC {
    // 定义一个回调接口
    //@FunctionalInterface
    private interface Callback {
        void call(int a,int b);
    }
    public static void main(String[] args) {
        // 方法1:使用匿名内部类实现回调接口
        processData(10, (a, b) -> {
            System.out.println("1处理后的数据是: " + (a+b));
        });

        // 方法2:使用方法引用(Java 8及以上),推荐
        processData(10,CCCC::myCallbackMethod);
    }

    // 一个处理数据并接受回调函数的方法
    private static void processData(int data, Callback callback) {
        int processedData = data * 2; // 假设数据处理是将数据乘以2
        //...

        // 数据处理完成后,调用回调函数
        callback.call(processedData, processedData+1);

        //...
    }

    private static void myCallbackMethod(int a,int b) { //参数要跟接口对上
        System.out.println("2处理后的数据是: " + (a+b));
    }
}

方法2的要点就是:回调函数与接口函数的形参一致——参数类型按次序必须一样,参数名字可以不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThorpeTao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值