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();
}
}
?運行結果
我被調用
?
?
?