Java回调理解 (step by step)
来源:互联网 发布:人才招聘 源码 编辑:程序博客网 时间:2024/04/27 18:07
在网上搜索了许多篇关于java回调函数的文章,自己也来试了一下写了这篇博客,可能有些地方理解不到位,烦请各位大大指正。
在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
在Java里面,我们使用接口来实现回调。
模拟一个场景:一个Girl给她男朋友Man打电话,然后Man给她回复:
首先定义一个接口:
package mine.callback2;public interface CallInterface {void execute();}Girl:
package mine.callback2;public class Girl {public CallInterface ci;//保存一个接口引用public void setCallFun(CallInterface ci){this.ci=ci;}public void call(){ci.execute();//回调实现CallInterface接口Man中的方法}}Man:
package mine.callback2;public class Man implements CallInterface {@Overridepublic void execute() {System.out.println("好的,女王大人");}public static void main(String[] args) {Girl girl = new Girl();girl.setCallFun(new Man());girl.call();}}接口不变,实现实现以上相同的功能:
Girl:
package mine.callback1;public class Girl {public CallInterface ci;public void CallFun(CallInterface ci){System.out.println("陪我去逛街,好么?");ci.execute();//进行回调操作}}Man:
package mine.callback1;public class Man {public static void answerA() {System.out.println("好的,女王大人!");}public static void answerB(){System.out.println("对不起,我这儿还有任务没完成,以后有时间陪你噢.");}public static void main(String[] args) {Girl girl = new Girl();girl.CallFun(new CallInterface() {@Overridepublic void execute() {//这里可以调用更多的回答answerB();}});}}如果思路不够清晰可以看下面这篇文章:http://kidult.iteye.com/blog/148982
2 0
- Java回调理解 (step by step)
- java 学习 step by step
- Step By Step(Java 网络篇)
- Step By Step(Java 网络篇)
- Step By Step(Java 系列的目录)
- NHibernate Step by Step
- OGRE step by step
- step by step
- MinGW Step by Step
- 大杂烩---Step by Step
- sphinx4 STEP BY STEP
- EJB step by step
- NHibernate Step by Step
- Django Step by Step
- Eclipse: Step by Step
- step by step
- ALE STEP BY STEP
- [Design]Step by Step
- 光伏发电与电能质量
- iOS移动操作系统架构图
- ThinkPHP如何整合Uploadify上传插件实现异步上传图片
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- iOS~创建文件夹映像dmg
- Java回调理解 (step by step)
- 10个简单实用的 jQuery 代码片段
- 多线程的顺序执行(2)
- 让eclipse启动时指定jdk
- Maven(一):安装与配置
- could not initialize proxy - no Session
- yii linux 自动执行脚本
- 学习Python:StringIO与cStringIO
- Hibernate的architecture(转载自Hibernate的4.3.4.Final的官方文档)