黑马程序员技术交流社区

标题: 函数回调,使用接口和多态,经典 [打印本页]

作者: 小子考驾照    时间: 2014-8-24 23:50
标题: 函数回调,使用接口和多态,经典
使用接口  (摘自网络,总结的不错)
   
  也就是使用多态来实现回调函数   
   
public interface ICallback {
  public void   func();
}
   
public class ClassWithCallbackFunction implements ICallback{
  public ClassWithCallbackFunction() {
  }
  public void func(){
    System.out.println("cccccccccccccccccc");
  }
}
   
public class Caller {
  ICallback callback;
  public void doCallback() {
    callback.func();
  }

  public void setCallback(ICallback callback) {
    this.callback = callback;
  }

}
   
public class MainClass {
  public MainClass() {
  }

  public static void main(String[] args) {
    Caller caller = new Caller();
    caller.setCallback(new ClassWithCallbackFunction() {
      public void func() {
        System.out.println("aaaaaaaaaa");
      }
    });
    caller.doCallback();
  }
}  
现实中是把doCallback()方法放在setCallback里调用,以上是为了说明回调原理
public class Caller {
  ICallback callback;
  public void doCallback() {
    callback.func();
  }

  public void setCallback(ICallback callback) {
    this.callback = callback;
    doCallback();
  }

}
作者: 许庭洲    时间: 2014-8-25 09:08
值得学习ing!
作者: 塞肥肥塞牙人    时间: 2014-8-25 20:36
不错的总结,加油!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2