//在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(); } }