回调函数定义:
传递一个函数A到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称,就叫做匿名回调函数。或者将一个方法对象A 传递给另一个方法对象 B,让后者在适当的时候执行A,那么A就叫做回调函数。
回调函数实例理解:
消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并且在每一个地方都设置一个发生火灾时的检测装置,如果危急到人们的人生安全时,那么市民就可以通过119给消防员打电话,然后叫消防员来处理。回调的意思就是说,消防员给我们一个火警电话,发生火灾时我们就可以用这个号码给消防员打电话,但最终处理问题的不是我们自己,而是消防员。我们就相当于是一个信息反馈者,只负责给消防员反馈信息,最终该处理者还是消防员。
代码如下:
1.定义回调接口及回调中会被执行的方法,即拨打求救电话这个方法。
public interface MyCallback { void call(); }2.定义可以对回调接口进行操作的类
public class Caller { private MyCallback myCallback; public void doCall(){ myCallback.call(); } public void setMyCallback(MyCallback myCallback) { this.myCallback = myCallback; } }3.实例化具体回调函数,实现回调方法 ,告知消防员来进行救火
public class CallBackTest { public static void main(String[] args) { Caller caller = new Caller(); caller.setMyCallback(new MyCallback() { @Override public void call() { System.out.println("Help"); } }); caller.doCall(); } }
原文地址:http://blog.csdn.net/fuchengbo000/article/details/43085845