Java关于回调的易理解解读
来源:互联网 发布:人的意识与人工智能 编辑:程序博客网 时间:2024/05/17 04:19
你好,我写了个很简单的代码,你一看就明白了public class A {int value = 1001;public A() {// A的构造函数,执行B的exec()方法,里面又带有对A的getValue()方法调用,这个就叫做回调B b = new B(this);b.exec();}public int getValue() {return value;}public static void main(String[] args) {new A();//构造函数里已经发生了回调,所以不需要更多的代码}}class B {private A a;public B(A a) {this.a = a;}public void exec() {System.out.println(a.getValue());// 这里调用了a的getValue()方法}}
————————————————————————————————————————————————————————————————
所谓回调,就是客户程序C调用服务程序S中的某个方法a,然后S又在某个时候反过来调用C中的某个方法b,对于C来说,这个b便叫做回调函数。
————————————————————————————————————————————————————————————————
比如你写了两个类A和B,并且各生成一个对应的实例a 和b ,在a 中有一个方法fa( 此方法只负责生成两个随机数)要调用b中的一个方法fb(此方法对两个数进行求各) 来进行求和,fb求得结果后要调用a的另一个方法ffa(此方法用于显示求得的结果),这时ffa就叫作回调函数,(反回来调用一下的意思)为什么要这么麻烦呢,如果fb直接返回结果不好吗,试想如果fb执行时间较长,那么fa就会一直等结果而导致fa不往下执行了,此时如果用回调这个功能实现,由于 回调函数一般是由系统异步调用的,方法fa调用fb后就不用等而直接往下执行,比如可以再生成两随机数给fb,fb会依次得到结果后通过回调机制来调用ffa显示出来,其实就是为实现生成随机数和计算随机数的异步执行。好象fa和fb是两个独立执行的线程,提高程序效率。
0 0
- Java关于回调的易理解解读
- 关于DONA的一些理解与解读
- 关于回调的简单理解(java)
- 关于Java线程join的解读
- 关于Java中线程池的解读
- 自己理解的 关于java的回调
- 关于java 回调函数的理解
- 关于java回调函数的理解
- 关于java回调函数的理解
- 关于java线程的理解
- 关于java内存的理解
- 关于Java反射的理解
- 关于java堆栈的理解
- 关于java Abstract的理解
- 关于java包的理解
- 关于JAVA线程的理解
- 关于Java注解的理解
- 关于JAVA多态性的理解
- [文件系统]read系统调用剖析(二)
- 初次使用nginx,tomcat项目中做负载均衡
- KMP算法
- 用Android自带的signapk.jar 签名应用程序
- Hash算法 - SHA-1和MD5
- Java关于回调的易理解解读
- android Handler的使用
- C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理
- leetcode- Minimum Window Substring
- hdu2087 暴力
- BIND配置文件详解(一)
- 下拉框输入检索
- JSP内置对象----request
- extern