一、基本介绍:
回调函数(callback Function),顾名思义,用于回调的函数。
回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。
回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。
回调函数包含下面几个特性:
1、属于工作流的一个部分;
2、必须按照工作流指定的调用约定来申明(定义);
3、他的调用时机由工作流决定,回调函数的实现者不能直接调用回调函数来实现工作流的功能;
二、回调函数和观察者模式的关系
观察者模式定义对象间的一种一对多的依赖关系。
当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
观察着模式是用接口回调的方法来实现的,可以说观察者模式是回调的一种应用。
三、简单例子
public interface ICallBack {
public void postExec();
}
public class FooBar {
private ICallBack callBack;
public void setCallBack(ICallBack callBack) {
this.callBack = callBack;
doSth();
}
public void doSth() {
callBack.postExec();
}
}
public class CallbackTest {
public static void main(String[] args) {
FooBar foo = new FooBar();
foo.setCallBack(new ICallBack() {
public void postExec() {
System.out.println("在Test类中实现但不能被Test的对象引用,而由FooBar对象调用");
}
});
}
}