CallBack回调

 

http://www-128.ibm.com/developerworks/cn/linux/l-callback/?ca=dwcn-newsletter-linux

 

 

package test;
interface ICallBack{void postExec();} 

/*相当于副线程,执行时得到了主线程传入的地址*/
class A{                 
   private ICallBack callBack;  
   public void setCallBack(ICallBack callBack){  //A拥有setCallBack() 
     this.callBack=callBack;  
   }  
   /**虽然没有实现接口ICallBack,但仍可用接口的方法,
     接口是在CallBack中实现的,其实根本不必关心它在哪里实现的**/
   public void doSth(){callBack.postExec();//随时回调A实现接口ICallBack的方法  
   }  
 } 

 /**CallBack实现接口ICallBack(),运行时调用A的setCallBack(),相当于主线程**/
public class CallBack implements ICallBack{
 
 public void postExec(){System.out.println("callback");};
 
    public static void main(String[] args){
             A foo=new A();
             foo.setCallBack(new CallBack()); //自身传入参数,相当于将自身指针传给了foo
             foo.doSth();//此时foo中已经有了CallBack对象
                    }  
            } 

转载于:https://www.cnblogs.com/sunxiangfu/archive/2008/09/18/4261145.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值