Java编程程序回调函数的理解

来源:互联网 发布:scratch.mit.edu软件 编辑:程序博客网 时间:2024/05/18 07:49

所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。

  重新举个例子来理解回调:

  我遇到了一个问题,便用家里的固话打给我的同事,他说不太清楚,稍后给我回复。我说我一会要出去,你想到了之后打我手机吧。没过多久,我同事就打手机过来告诉了我答案。

  下面是代码:

  1、先定义一个接口,规定回答问题的条件是打我手机

  1. public interface CallBack {

  2. //通过手机回答

  3. void CallIphone();

  4. }

  2、调用者(我):

  1. public class Me {

  2. public void askQuestion(){

  3. System.out.println("拨打固话问1+1=?");

  4. }

  5. }

  3、被调用者(同事):

  1. public class You {

  2.

  3. public void answer(CallBack callBack){

  4. //进行回调

  5. callBack.CallIphone();

  6. }

  7.

  8. public static void main(String[] args) throws InterruptedException {

  9. new Me()。askQuestion();

  10. Thread.sleep(3000);

  11. new You()。answer(new CallBack() {

  12. //实现接口,即回答问题的方式

  13. public void CallIphone() {

  14. System.out.println("拨打手机回答等于2");

  15. }

  16. });

  17. }

  18. }

  4、显示结果

  拨打固话问1+1=?

  拨打手机回答等于2

  代码很简单,理解也很肤浅,希望对大家有用。

 

 
 

10类最急需IT人才:Java开发者居首                 海量Java教程、学习资料和源码 

海量Android教程、开发资料和源码                   从IT菜鸟变为“IT骨干开发者”的11个建议                       

程序员发展应该尽早明白13个道理                    程序员编程技术迅速提高的终极攻略 

2011年中国百万开发者大调查:程序员的薪水不错       为程序开发人员量身定制的12个目标 

老程序员的忠告:不要做浮躁的软件工程师                    2012年全国各省平均工资排行 

2012年世界500强,大陆香港台湾上榜名单(79家       真的事实:大多程序员有“懒基因” 

2012年中国各省市GDP和人均GDP排名名单                  美国知名科技公司入门级软件工程师的薪水排名 

成为Android高手需要经过的六个阶段和6个境界           海量Linux学习教程和开发资料  

成为Android高手必须掌握的28大项内容和10个建议    海量C、C++、VC++教程、源码和开发资料 

71道经典Android面试题和答案--重要知识点都有          Java高手需要越过的10座高山 

2012四月发布的世界各国人均GDP排名,中国超泰国    老程序员的反省和总结:给IT新兵的15个建议 

90后就业“钱景”:IT仍是最佳选择                                 如何成就一名“高级”程序员? 

长时间操作电脑需要养成的几个好习惯                          周立功谈嵌入式:我的25年嵌入式生涯

高校应届毕业生“IT业”收入最高,Android技术最热门   回顾Java经过的风风雨雨 

成为Java高手的25个学习目标--非常经典                      IT技术开发人员获得成功的六大步骤

 

 

原创粉丝点击