Android中的回调函数

本文通过一个生动的例子解释了回调函数的概念,即对象A调用对象B的方法后,B在适当时候调用A中预先指定的函数。并通过Java代码展示了如何设置和触发回调函数。

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

一直都知道回调函数这个概念,但是一直都懵懵懂懂的,直到前段时间才算真的明白这个东西。
所谓回调,就是对象A调用另一对象B中的某个方法b,然后B又在某个时候反过来调用A中的某个函数c,对于B来说,这个c便叫做回调函数。
用一个比较形象的例子:
你饿了,想吃饭,就一会去问你妈一声”开饭没有啊?”
这就是正常函数调用.
但是今天你妈包饺子,花的时间比较长,你跑啊跑啊,就烦了.于是你给你妈说,我先出去玩会,开饭的时候打我手机.
等过了一阵,你妈给你打电话说”开饭啦,回来吃饭吧!”
其中,你告诉你妈打手机找你,就是你把回调函数句柄保存到你妈的动作.你妈打电话叫你,就是个回调过程.

回调函数:

        Children children = null;
        children = new Children();
        children.seteatlistenner(new FinishCookingListenner() {
        //回调函数
            @Override
            public void finishcooking() {
                System.out.println("开饭啦!!!!!");
            }
        });

设置吃饭的监听器:

public interface FinishCookingListenner {
    void finishcooking();
}

然后是我们的Mom类


public class Mom {

    private FinishCookingListenner listenner;
    public void seteatlistenner(FinishCookingListenner listenner){
        this.listenner = listenner;
    }

    public void wantEat(){
        //饭做好啦,叫吃饭
        listenner.finishcooking();
    }
}

接下来Children类:

public class Children {

    public static void main(String args[]){
        Mom mom = null;
        mom = new Mom();
        //注册监听器
        mom.seteatlistenner(new FinishCookingListenner() {
            @Override
            public void finishcooking() {
                System.out.println("开饭啦");
            }
        });
    //告诉mom,想吃饭啦
        mom.wantEat();
    }
}

这就是我的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值