天天记录 - Java回调实现

来源:互联网 发布:766冒险岛数据库没有了 编辑:程序博客网 时间:2024/05/17 07:16


1) 什么是回调?(What) 

精妙比喻:我把手机号码给你,你通过手机号码联系我。

具体解释:
我把我的手机号码给你,你通过电话号码打电话 联系我。
我把我的手机号码给你,你通过电话号码发短信 联系我。

共同的部分:
我把我的手机号码给你,你通过电话号码(****)联系我。

不同的部分
(****)每次在使用的时候,选择是打电话或是发短信。


2) 使用java如何实现回调?(How)

 

通常使用java语言实现有两种方式:使用接口支持回调 和 使用继承支持回调。

 

此示例使用接口支持回调方式

/**  * 包含有回调方法的类 */ public class  CallMe {public void call(CallBack callBack){ // 参数是CallBack接口类型System.out.print("我把我的手机号码给你,你通过电话号码");callBack.execute(); // 回调,不同部分(****),即打电话 OR 发短信System.out.print("联系我!");}}/**  * 回调接口  */ interface CallBack {void execute();}



/** *  使用回调的类 *      “打电话” */public class  CallUp {public static void main(String[] args) {CallMe callMe = new CallMe();callMe.call(new CallBack(){public void execute(){System.out.print("  打电话  ");}});}} /* !!!  OutPut : ~我把我的手机号码给你,你通过电话号码  打电话  联系我! */ 


/** *  “发短信” */public class  SendMessage {public static void main(String[] args) {CallMe callMe = new CallMe();// 创建一个实现CallBack的匿名内部类// 通过new表达式返回的引用自动向上转型为对CallBack的引用。CallBack callBack = new  CallBack(){public void execute(){System.out.print("  发短信  ");}};callMe.call(callBack);}} // !!!  OutPut : ~

3) 回调都做了什么? 
将变动与不变的代码分离,变动的代码在每次使用时确认。

4) 什么情况使用回调?为什么要使用回调? (Why) 
步骤固定,但有一部分内容只有在使用的时候才能知道。

5)不用回调,实现同样同能还有其他方式吗?(Why)

 


注: java回调具体名字,有的说是java回调函数,java回调机制(不知道这种说法对不对),本文统一使用“java回调”。


调用方法的方式
一  同步调用 : 是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用
二  回调调用 : 是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口
三  异步调用 : 是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)

参考资料:
回调Java代码实现
http://kidult.iteye.com/blog/148982 

WiKi Callback
http://en.wikipedia.org/wiki/Callback_%28computer_programming%29 










原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩儿写字做作业磨蹭怎么办 孩子不学习成绩差不写作业怎么办 儿童4岁不会写字怎么办 小孩读中班还不会写字怎么办 幼儿园中班孩子不写字怎么办 小孩吃多了呕吐怎么办 一岁宝宝老便秘怎么办 4周岁半幼儿便秘怎么办 没胃口不能吃辣怎么办 九个月宝宝缺锌怎么办 宝宝4 5天不吃饭怎么办 16个月宝宝不肯吃饭怎么办 儿童不吃饭很瘦怎么办 小孩吃饭吃的少怎么办 宝宝突然晚上不睡觉怎么办 l岁宝宝吃多了怎么办 3个月婴儿厌食怎么办 11个月婴儿厌食怎么办 7个月的婴儿厌食怎么办 小孩记忆不好读书记不住怎么办 9岁儿童不爱睡觉怎么办 6岁儿童不爱吃饭怎么办 2岁半宝宝不吃饭怎么办 一年级的孩子不爱学习怎么办 小孩不爱写作业怎么办啊 孩子不爱看书怎么办如何教育 2岁宝宝不爱看书怎么办 儿媳妇比儿子年龄大我不喜欢怎么办 不喜欢儿子却生了儿子怎么办 静不下心来看书怎么办 孩子爱玩不爱学怎么办 孩子爱玩不爱学习怎么办 孩子爱玩手机不爱学习怎么办 照四维宝宝太活泼了怎么办 胎宝宝太活泼了怎么办 7个月宝宝太活泼怎么办 我是个初中生不想上学怎么办 3岁宝宝不肯说话怎么办 两周宝宝不爱吃饭怎么办 小孩不喜欢吃水果蔬菜怎么办 孩子对学习不感兴趣怎么办