java之回调函数-机制示例1
来源:互联网 发布:周三 知乎 编辑:程序博客网 时间:2024/05/16 06:02
看过spring、hibernate源码的朋友对callback回调模式应该并不陌生
学过 java 的朋友一定遇到过 callback 回调函数 的例子,用一句话来概括就是:“if you call me, i will call back”。
自己学习了一下,写了个小例子,还请大伙指正。
JAVA中的回调函数:
1.先预定义的协议接口:
package com.test;public interface CallBack { public String execute();}
2.实现行为
package com.test;public class Service {public String doExecute(CallBack callBack) {// do something ....return callBack.execute();}}
3.测试回调函数:
package com.test;public class Client {public static void main(String[] args) {testCallBack();}public static void testCallBack(){final Service service = new Service();String result = service.doExecute(new CallBack(){public String execute() {String msg = "正在执行....";return msg;}});System.out.println(result);CallBack callBeck = new CallBackImpl();result = service.doExecute(callBeck);System.out.println(result);}}
第二种实现:
a.步骤分解,再为 CallBack 提供一个实现类如:
package com.test;public class CallBackImpl implements CallBack{public String execute() {String msg = "实现接口工作";return msg;}}
b.测试回调函数:
package com.test;public class Client {public static void main(String[] args) {testCallBack();}public static void testCallBack(){final Service service = new Service();CallBack callBeck = new CallBackImpl();String result = service.doExecute(callBeck);System.out.println(result);}}
对以上面进行分析,不难发现关键是在 Service 类中:
public String doExecute(CallBack callBack) {// do something ....return callBack.execute();}
其原理便是如此,这便是我们在 java 中很多地方所遇见而不解其原理和用途,如 swing,jdbc中Spring中的HibernateTemplate和JpaTemplate等。
通过上面简单的例子可以看清楚原理。
java之回调函数-机制示例2 将模拟JDBC中的回调
- java之回调函数-机制示例1
- java之回调函数-机制示例2
- Java回调函数示例
- java回调函数机制
- java回调函数机制
- Java回调函数机制
- Java回调函数机制
- java回调函数机制
- java回调函数机制
- Java 回调函数机制
- VC之回调函数示例
- Android(java)回调函数经典示例
- 回调函数示例
- 回调函数示例
- 回调函数示例
- java之回调函数
- java之回调函数
- java之回调函数
- JQuery中遍历DOM元素each(callback)函数
- 不太成功的hz面试
- 十字链表的创建及输出操作
- mfc里使用webbrowser控件的一点体会
- 特殊的IP地址的含义
- java之回调函数-机制示例1
- U-Boot命令详解
- 数组首地址与数组名取地址的区别
- Linux必学的60个命令(1)-安装与登陆
- MyC++之动态绑定和静态绑定
- C语言位域精解
- mkimage的问题
- Map.Entry 类使用
- STM32学习资料大收集