//在Java中,就是类A调用类B中的某个方法b
//然后类B又在某个时候反过来调用类A中的某个方法a
//对于A来说,这个a方法便叫做回调方法
interface CallBack
{
//定义回调方法
void callbackMethod();
}
//CallBackDemo实现接口CallBack
class A implements CallBack
{
private B b=null;
public A()
{
b = new B();
}
public void doASth()
{
// A运行时调用B中doSomething方法,以自身传入参数
//B已取得A,可以随时回调A所实现的CallBack接口中的方法
b.doSomething(this);
}
public void callbackMethod()
{
// 对A来说,该方法就是回调方法
System.out.println("callbackMethod is executing!");
}
}
class B
{
public void doSomething(CallBack cb)
{
// B拥有一个参数为CallBack接口类型的方法
System.out.println("I am processing my affairs… ");
System.out.println("then, I need invoke callbackMethod…");
//开始回调接口中的方法,根据多态,所以调用的是被复写的方法
cb.callbackMethod();
}
}
public class CallBackDemo
{
public static void main(String args[])
{
new A().doASth();
}
}