回调函数

回调函数涉及的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(); }
}

測试结果


最新文章

  1. (转)UIWebView全部API学习
  2. bootstrap框架----像素
  3. HDOJ 1524 A Chess Game
  4. JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
  5. android 讯飞语音识别(离线)注意事项
  6. Android开源项目发现--- 工具类文件处理篇(持续更新)
  7. css3 选择器的比较(一) -- 以字符串开头
  8. Java 1.0 类与对象
  9. apache-tomcat-7.0.70无法进入Manager管理App项目
  10. MySQL1236错误的恢复
  11. Python3基础教程2——Python的标准数据类型
  12. 复杂的QR_code
  13. Python学习之数组类型一:
  14. android AIDL 语言用法
  15. 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础
  16. 编译错误 ----- /usr/bin/ld: cannot find -lc
  17. 如何快速把安卓应用移植到BlackBerry 10上
  18. 每天看一片代码系列(四):layzr.js,处理图片懒加载的库
  19. mysql测试工具
  20. Android流式布局控件

热门文章

  1. python模块之copy
  2. happens-before规则
  3. jQuery 特殊选择器this
  4. python 多进程并发与多线程并发
  5. ros下xtion用法
  6. [BZOJ1076][SCOI2008]奖励关 状压dp
  7. 主席树 STL+二分【p3939】数颜色
  8. awk 精彩文章
  9. Xamarin XAML语言教程ContentView视图作为自定义视图的父类
  10. redis踩坑记