2009年3月25日星期三

浅析java回调机制

public class Test{
   public static void main(String[] args){
     FooBar foo=new FooBar();
     foo.setCallBack(new ICallBack(){
        public void postExec(){System.out.println("method executed.");}
     });
   }
}


aaaaaa
public interface ICallBack(){
  void postExec();
}


bbbbbb
public class FooBar..{
  private ICallBack callBack;
  public void setCallBack(ICallBack callBack){
    this.callBack=callBack;
  }
  public void doSth(){
     ....
     callBack.postExec();
  }
  ..
}

JAVA的CALLBACK通过接口来实现。  
  例:  
  1.class   A,class   B  
  2.class   A实现接口ICallBack  
  3.class   B拥有一个参数为ICallBack接口类型的函数setCallBack(ICallBack   o)  
  4.class   A运行时调用class   B中setCallBack函数,以自身传入参数  
  5.class   B已取得A,就可以随时回调A所实现的ICallBack接口中的方法  

没有评论:

发表评论