一个简单的java回调函数的实现
2024-08-24 19:09:31
回调函数
回调函数涉及的3个函数
登记回调函数
回调函数
响应回调函数
简单的解释
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话。过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个样例里,你的电话号码就叫回调函数。你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件。店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完成。来自知乎点击打开链接
代码的实现
首先有一个接口 interface CallBack,当然没有也是能够的,主要是用来预定义业务逻辑
public interface CallBack {
/*
* 响应回调函数
*/
public void slove();
}
然后是上面接口的实现,登记回调和响应回调的实现类
public class A implements CallBack {
B b = new B();
@Override
/*
* (non-Javadoc)
* @see CallBack#slove()
* 响应回调函数
*/
public void slove() {
System.out.println("the problem is solve!");
}
/*
* 登记回调函数
*/
public void askQuestion(){
System.out.println("ask b solve the problem!");
/*
* 自己去做其它事
*/
new Thread(new Runnable() { @Override
public void run() {
System.out.println("A want to do another thing!");
}
}).start();
/*
* ask b to solve this problem
*/
this.b.call(this);
}
/*
* test
*/
public static void main(String[] args) {
A a = new A();
a.askQuestion();
}
}
然后就是实现回调函数的类
public class B {
/*
* 回调函数
*/
public void call(CallBack a){
/*
* b help a solve the priblem
*/
System.out.println("b help a solve the problem!");
/*
* call back
*/
a.slove(); }
}
測试结果
最新文章
- (转)UIWebView全部API学习
- bootstrap框架----像素
- HDOJ 1524 A Chess Game
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
- android 讯飞语音识别(离线)注意事项
- Android开源项目发现--- 工具类文件处理篇(持续更新)
- css3 选择器的比较(一) -- 以字符串开头
- Java 1.0 类与对象
- apache-tomcat-7.0.70无法进入Manager管理App项目
- MySQL1236错误的恢复
- Python3基础教程2——Python的标准数据类型
- 复杂的QR_code
- Python学习之数组类型一:
- android AIDL 语言用法
- 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础
- 编译错误 ----- /usr/bin/ld: cannot find -lc
- 如何快速把安卓应用移植到BlackBerry 10上
- 每天看一片代码系列(四):layzr.js,处理图片懒加载的库
- mysql测试工具
- Android流式布局控件