Java中的回调方法是什么?(该术语似乎被宽松地使用)
问题内容:
我不明白什么是回调方法,而且我听过人们很随意地使用该术语。在Java世界中,什么是回调方法?如果有人可以提供一些有关Java回调方法的示例代码并提供解释,那将对我的Java学习之旅有很大帮助。
先感谢您。
问题答案:
回调是一段代码,您可以将它作为参数传递给其他代码,以便执行它。由于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();
}
}
回调通常会保留对某些状态的引用才真正有用。
通过使回调实现具有对代码的所有依赖关系,您可以在代码与执行回调的代码之间获得间接访问。