来源:http://blog.sina.com.cn/s/blog_91f9ff14010172tl.html
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
在Java中,就是类A调用类B中的某个方法b,然后类B又在某个时候反过来调用类A中的某个方法a,对于A来说,这个a方法便叫做回调方法 pubilc interface CallBack{ public void callbackMethod(); } public class A implements CallBack{ // A实现接口CallBack B b = new B(); public void do(){ b.doSomething(this); // A运行时调用B中doSomething方法,以自身传入参数,B已取得A,可以随时回调A所实现的CallBack接口中的方法 } public void callbackMethod(){ // 对A来说,该方法就是回调方法 System.out.println("callbackMethod is executing!"); } } public 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(); } }