回调是一段代码,您将其作为参数传递给其他代码,以便它执行它.由于Java尚不支持函数指针,因此它们实现为Command对象.就像是
public class Test {
public static void main(String[] args) throws Exception {
new Test().doWork(new Callback() { // implementing class
@Override
public void call() {
System.out.println("callback called");
}
});
}
public void doWork(Callback callback) {
System.out.println("doing work");
callback.call();
}
public interface Callback {
void call();
}
}
回调通常会引用一些实际有用的状态.
通过使回调实现具有代码的所有依赖关系,您可以在代码和执行回调的代码之间获得间接.