java回调函数之我见(一)

首先记住一句两个人的对话:

          A  to  B:i call you if I want you help doing sth;

          B  to  A: ok ,I doing sth;

          B  to  A: if I done, I will call you back.

这就是回调函数----------  

回调:我想请你帮我个忙,你做好了叫我。好,我做好了叫你。

非回调(伪码):  do (I want to you help me do sth),

                               while( finished()? ){

                                       if(finished() == true) break;

                                       else{  wait(3000)   }

                                } 

                                 do others().

B:
public class B implements A.Callback {
    @Override
    public void tellAdone() { 
        System.out.println("我做好了,你可以放心啦!");
    }

    public void Requsetsb(){
        System.out.println("i need you ,help me !");
        A a =new A();
        a.Accept(this);
    }

    public static void main(String[] args) {
        B b = new B();
        b.Requsetsb();
    }
}

public class A  {
    public interface Callback{
        void tellAdone();
    }

    public void Accept(Callback callback){
        System.out.println("ok,我做好了叫你");
        dosth();
        done_sth();
        callback.tellAdone();
    }

    public void dosth(){
        System.out.println("我正在努力做事情");
    }

    public void done_sth(){
        System.out.println("我做好了");
    }
}

输出:

i need you ,help me !
ok,我做好了叫你
我正在努力做事情
我做好了
我做好了,你可以放心啦!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值