简单举例JAVA回调函数的实现

本文详细介绍了Java中的回调函数概念,通过Swing按钮点击事件模拟,展示了同步和异步回调的区别,并提供了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自维基百科的对回调(Callback)的解释:In computer programming, a callback is any executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at a given time. This execution may be immediate as in a synchronous callback, or it might happen at a later time as in an asynchronous callback.
也就是说,把一段可执行的代码像参数传递那样传给其他代码,而这段代码会在某个时刻被调用执行,这就叫做回调。如果代码立即被执行就称为同步回调,如果在之后晚点的某个时间再执行,则称之为异步回调。关于同步和异步,这里不作讨论,请查阅相关资料。

在JAVA中,这一思想的实现可以通过匿名内部类实现。我们可以模拟Swing的Button监听实现,来讲述回调函数。

public class Button{
    private   OnListener onListener;
   //模拟监听事件
    public void setOnListener(OnListener onListener) {
        this.onListener = onListener;
    }
   //模拟点击事件
    public void click(){
        if(onListener!=null){
           onListener.listener();
        }
        System.out.println("--触发点击事件--");
      }
    public static void main(String[] args) {
        Button button = new Button();
        //自定义监听事件
        button.setOnListener(new OnListener() {
            @Override
            public void listener() {
                System.out.println("监听click点击事件");
            }
        });
        button.click();
    }
       interface  OnListener{
        public void listener();
    }
}

结果
在这里插入图片描述

上述方法就是异步回调,只有在按钮触发了点击事件后才会执行,如果一直不触发点击事件,则一直都不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值