class="MsoNormal">定義:
在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。
?
Java實現:
回调可以用传递抽象类或接口来模拟。回调的接收者会调用抽象类或接口的方法,这些方法由调用者提供实现。这样的对象通常是一些回调函数的集合,同时可能包含它所需要的数据。这种方法在实现某些设计模式时比较有用,例如访问者模式,观察者模式与策略模式。
?
?
例子:
?
package com.my.callback; /** * @author Jack 2014-10-29 上午08:35:50 * 回調接口,定義回調的方法 */ //public class MyCallBack { // // void func(){}; //} //public abstract class MyCallBack { // // void func(){}; //} public interface MyCallBack { void func(); }
?
package com.my.callback; /** * @author Jack 2014-10-29 上午08:41:50 * */ public class CallerTest { public static void main(String[] args) { Caller caller = new Caller(); caller.setMyCallBack(new MyCallBack() { @Override //由調用者自定義實現方法 public void func() { System.out.println("我被調用"); } }); caller.doCall(); } }
?
package com.my.callback; /** * @author Jack 2014-10-29 上午08:39:42 * */ public class Caller { private MyCallBack myCallBack; public void setMyCallBack(MyCallBack myCallBack) { this.myCallBack = myCallBack; } public void doCall() { this.myCallBack.func(); } }
?運行結果
我被調用
?
?
?