I was looking at How do I perform a JAVA callback between classes?. And the first answer, answered my query.
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);
}
}
However, it challenges my concept of callback
from scripting languages like JavaScript. Where implementation of callback
functions are passed from the caller. for example,
function IWillCallTheCallBack(callback) {
callback();
}
Can anyone explain the difference between callback in Java vs other programming language.