回调函数有这样一种定义:
1.回调就是该函数写在高层,低层通过一个函数指针来保存这个函数,在某个事件触发下,低层通过该函数指针调用高层那个函数(c语言);
2.在java中,通常是编写另外一个类或者类库的人规定一个接口,然后你来实现这个接口,然后把这个接口作为参数传递给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。
public interface CallBack {
public void execute();
}
这是别人定义的一个接口,下面是你对接口的实现:
public class TestObject {
/**
* 一个用来被测试的方法,进行了一个比较耗时的循环
*/
public static void testMethod() {
for (int i = 0; i < 100000000; i++) {
}
System.out.println("回调中···");
}
}
然后是一个工具类的实现:
public class Tools {
/**
* 测试函数使用时间,通过定义CallBack接口的execute方法
*
* @param callBack
*/
public void testTime(CallBack callBack) {
System.out.println("回调前···");
long begin = System.currentTimeMillis();// 测试起始时间
callBack.execute();// /进行回调操作
long end = System.currentTimeMillis();// 测试结束时间
System.out.println("[use time]:" + (end - begin));// 打印使用时间
System.out.println("回调后···");
}
public static void main(String[] args) {
Tools tool = new Tools();
tool.testTime(new CallBack() {
// 定义execute方法
public void execute() {
// 这里可以加放一个或多个要测试运行时间的方法
TestObject.testMethod();
}
});
}
}
在tools中,接口的对象callBack作为参数传递给了testTime()方法,通过接口的回调,调用了之前编写的testMethod()方法。
输出:
回调前···
回调中···
[use time]:94
回调后···
回调函数还有个特征:不是我来调用你,而是你来调用我。
这里的我就是“testTime”,你就是"execute"。
分享到:
相关推荐
java 回调函数 自己模拟实现 使用了接口来完成
Java面试如何用Java实现一个回调函数
java回调函数
回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次...
java自定义回调函数代码,SDK开发.对后续编写自己的SDK有帮助!
java实现--企业微信回调配置案例及工具代码
Java多线程实现 自定义 的 回调函数. 手写 完成,亲测 完成,可以 直接运行,Demo ,具有一定参考价值,供大家阅读 下载,谢谢
NULL 博文链接:https://z251257144.iteye.com/blog/1331507
该资源包含一个简单的实现java的回调函数简单易懂。
JNA 回调函数工作不稳定现象处理 (绝大多数回调不稳定的原因)
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用...
亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。
java开发总结对回调函数的理解,以及描述,举例等..................
Java回调函数的理解。通过在Android小程序下运行一个Java回调程序。代码内部有简单讲解。
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出...我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。
这个程序是我在理解回调函数时编写的一个Demo. 里面包含了三部分: 1.回调函数 2.观察者模式 3.代理模式 配套有CSDN博文:关于回调函数的理解,以及观察者模式,代理模式
java中的回调函数.docx
Java 回调函数详解及使用
NI是Java Native Interface的缩写,是Java平台的重要特性,使得Java代码可以方便地与C/C++代码...本文主要给出一份示例代码(工程文件见附件),描述如何在Android的JNI层开启一个线程,并在线程中回调Java层的函数。
Java回调函数详解共6页.pdf.zip