回调函数

       学习编程的时候,经常会听到别人提起回调函数,但自己对这个概念一直似懂非懂,所以今天打算好好学习整理一下回调函数。

     所谓回调,就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。在c语言里回调函数是用指针完成的,由于java没有指针,我们用回调对象代替。下面,我们举一个例子来描述一下回调的过程:

      送货员有一些货需要派送出去,但他不知道要什么时候进行派送,所以他打电话问经理,然而经理这个时候在做大保健,就和送货员说:等我把手头上一亿的项目忙完再说啦,你先去忙,等下可以发货的时候我打电话给你。于是送货员就继续等待,3秒后,经理call了送货员,送货员开始发货,整个过程结束。

      在上面这个例子中,送货员就是A类,经理是B类,”经理通知送货员“就是方法C,送货员送货就是方法D。下面我们用代码实现一下:

//回调接口
Interface Callbackable{
pubilc void execute();
}
class A implements Callbackable{
private B b;
public A(B b){
this.b=b;
}
public void askManager(){
new Thread(new Runnable(){
@Override
public void run(){
b.callback(this);
}
});
doOtherThings();
 public void execute(){
   System.out.println("送货去咯");
}
}
public void doOtherThings(){
System.out.println("学习");
}
}
class B{
public void callback(Callbackable c){
//大保健中...
for(int i=0;i<3;i++) 
   System.out.println("啊~");
c.execute();
}
}



     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值