Java中的callback函数, template:
interface CallBack {
void methodToCallBack();
}
class CallBackImpl implements CallBack {
public void methodToCallBack() {
System.out.println("I've been called back");
}
}
class Caller {
public void register(CallBack callback) {
callback.methodToCallBack();
}
public static void main(String[] args) {
Caller caller = new Caller();
CallBack callBack = new CallBackImpl();
caller.register(callBack);
}
}
所以classA 的callback函数就是classA本身不去实现这个函数,交付给别的类classB去实现,然后classA直接使用classB已经实现的函数。
为了保证classA和classB能够相互通信,使用了共同的interface。
Interestingly, The ideia behind it is the inversion of control (abbreviated IoC). This paradigma describes the way frameworks work. It is also known as the "Hollywood principle - Don't call me, we will call you"
参考资料:
1 CALLBACK PATTERN IN JAVA ENVIRONMENT