Android回调机制的理解

定义:

所谓回调就是说一个程序里面有一个函数a,我在这个程序里面调用b函数,我希望b函数来调用我的a函数,这个a函数就叫做回调函数。(网上看了好久才明白0-0)

C++对回调的实现:

比如说我在程序里面调用qsort(a,a+n,cmp)这该快排函数,其中a是数组,n是数组元素的个数,而cmp函数是自己的程序里面定义的。我想让qsort来调用我的cmp函数,就要吧cmp函数指针传给qsort,这样qsort就可以来调用我的cmp函数了。这就实现了回调,而这个cmp函数就叫做回调函数。

Android对回调的实现:

对于JAVA来说,没用函数指针这一说法,于是用一个接口来实现函数的回调,拿Button来说吧。

一个类A实现OnClickListener接口,也就实现了onClick()方法,A想让Button来调用A的onClick()方法,于是先调用Button对象的setOnClickListener(OnClickListener  l)方法将A这个实现了OnClickListener的对象传到Button(Button类肯定有一个OnClickListener的引用),于是通过这个引用,Button就可以来调用A的onClick()方法了,也就实现了回调。

理解了好久,希望各位大神多多指教。

你可能感兴趣的:(Android回调机制的理解)