你的位置:首页 > 软件开发 > Java > [转]JAVA回调机制(CallBack)详解

[转]JAVA回调机制(CallBack)详解

发布时间:2017-04-12 00:01:18
看见一篇博客比较通俗的解释了回调机制,转载一下,感谢原文作者Bro__超,原文地址:http://www.cnblogs.com/heshuchao/p/5376298.html序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关 ...

看见一篇博客比较通俗的解释了回调机制,转载一下,感谢原文作者Bro__超,原文地址:http://www.cnblogs.com/heshuchao/p/5376298.html

序言

最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按照由浅到深的顺序描述一下,如有不妥之处,望不吝赐教!

开始之前,先想象一个场景:幼稚园的小朋友刚刚学习了10以内的加法。

第1章. 故事的缘起

幼师在黑板上写一个式子 “1 + 1 = ”,由小明同学来填空。

由于已经学习了10以内的加法,小明同学可以完全靠自己来计算这个题目,模拟该过程的代码如下:

[转]JAVA回调机制(CallBack)详解

小明同学在填空(fillBalnk)的时候,直接心算(clacADD)了一下,得出结果是2,并将结果写在空格里。测试代码如下:

[转]JAVA回调机制(CallBack)详解

 

修改Student类,添加使用计算器的方法:

[转]JAVA回调机制(CallBack)详解

测试代码如下:

[转]JAVA回调机制(CallBack)详解

运行结果如下:

小明使用计算器:168 + 291 = 459

小明这边现在已经不需要心算,也不需要使用计算器了,因此只需要有一个方法可以向小红寻求帮助就行了,代码如下:

[转]JAVA回调机制(CallBack)详解

测试代码如下:

[转]JAVA回调机制(CallBack)详解

运行结果为:

小明求助小红计算:26549 + 16487 = 43036

小明和老婆婆拿到这个接口之后,只要实现了这个接口,就相当于按照统一的模式告诉小红得到结果之后的处理办法,按照之前说的使用内部类来做,代码如下:

小明的:

[转]JAVA回调机制(CallBack)详解

老婆婆的:

[转]JAVA回调机制(CallBack)详解

测试程序如下:

[转]JAVA回调机制(CallBack)详解

运行结果如下:

小明求助小红计算:56 + 31 = 87老婆婆求助小红算账:26497 + 11256 = 37753元

原标题:[转]JAVA回调机制(CallBack)详解

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。