java回调函数在网上了看了些例子,比较绕,不够清晰,自己写的一个例子比较通俗,java回调其实很简单。

举个例子我是类B,我有个方法叫b(),现在我要调用类A中的方法a(),写个代码就是:

public class ClassB{ //我是类 B

	public void b(){                //我是类B中的方法b()
ClassA a = new ClassA();//我现在实例化A类,为的是调用A类中的方法a()
a.a(); //快看我现在开始调用A类中的a()方法了,代码执行到这大家都懂,就是一个普通的调用其他类的方法,
//那么回调怎么回事,回调就是我执行a()方法结束后,需要再执行我自己(类B)的方法back()
//回调就是这个意思,我调用你的方法,调用完你的方法后,再回过头来调用自己的方法
//注意,有人就要说了 我在a.a()方法后面直接加上一个 back()不就行了,可以,但那不是回调函数
//回调更像是一个约定,就是如果我调用了a()方法,那么就必须要回调,而不需要显示调用
} public void backs (){
System.out.println("我就是回调函数");//暂时不要管我,其实我就是回调函数
}
}

  再举个例子就是:我是老板(Boss),我有一部电话叫back,现在我安排了一个任务给员工(Emp),让他给我打印一份报表(doPrint),打印好报表后再通过我的

电话back告诉我。那么流程就很清晰了

public class Boss{              //我是老板
Emp emp = new Emp();//现在我new一个员工出来
emp.doPrint(); //我现在让这个员工去给我打印一份报表,报表打印好后直接通过back电话通知我。 public void back(){
System.out.println("老板报表打印好了,请你放心!");//这个是我的电话
}
}

  上面说了

emp.doPrint();//报表打印好后

back();        //直接通过back电话告诉老板,这种写法不是回调

  

那么我怎么让员工emp.doPring();打印好报表后打电话给我呢。可以想象一下就是在emp.doPrint();打印报表这个方法中再次调用Boss的电话

public class Emp(){      //员工
public void doPrint(){ //员工开始打印报表了
System.out.println("老板我报表打印好了");//这个时候员工把报表打印好了,再通过老板的电话通知老板,怎么做呢?
Boss boss = new Boss();
boss.back(); //这就是通过老板的电话在我打印好了以后,告知老板
}
}

  

  这样就实现了我doPrint();//报表打印好后,回调Boss的电话通知Boss,这就是回调

以上都是伪代码,只是为了说明什么是回调,但是在实际应用中,都是利用接口设置回调函数的

接口回调函数参照:http://www.ej38.com/showinfo/java-197426.html

java回调函数,看完就懂的更多相关文章

  1. 深度剖析HashMap的数据存储实现原理(看完必懂篇)

    深度剖析HashMap的数据存储实现原理(看完必懂篇) 具体的原理分析可以参考一下两篇文章,有透彻的分析! 参考资料: 1. https://www.jianshu.com/p/17177c12f84 ...

  2. Java回调函数的理解与实现

    回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 在Java里面,我们使用接口来实现回调.举个例子 所谓的回调,就是程序员 ...

  3. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)

    Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528   ...

  4. Java 回调函数

    下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的 ...

  5. 2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文

    2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文:https://juejin.im/post/5b94d8965188255c5a0cdc02

  6. Java回调函数

    维基百科上的定义:在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 所谓回调,就是客户程序C调用服务程 ...

  7. java回调函数这样说,应该明确了吧!

    有哥们问我回调怎么用,回调怎么理解? 怎么说好呢,仅仅可意会不可言传呐,非也,回调在实际开发中使用频率事实上是非常高的,恰好我小时候也被回调函数欺负过,居然问了,那么肯定要好好分享一下我的一些经验. ...

  8. 转Java 回调函数的理解

    所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数.例如Win32下的窗口过程函数就是一个典型的回调函数.一般说来,C ...

  9. JAVA回调函数ANDROID中典型的回调地方

    在计算机中回调函数是指通过函数参数传递到其他代码类的,某一块可执行代码的引用,这以设计允许了底层代码调用者在高层定义的子程序. 在JAVA里面我们使用接口的方式来实现函数的回调. 回调的通俗就是:程序 ...

随机推荐

  1. 使用strace命令跟踪系统调用

    一.是什么strace? strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由 ...

  2. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  3. WinForm的EXE破解(基于IL修改)

    一.目的与目标 1.1 主题目的 部门新人较多,希望通过本次分享让同学们对以下知识点有个认识: 破解原理 IL原理 强签名与加密 resx文件 由于时间有限,本文作为部门分享演示过程中辅助性文档,会对 ...

  4. 解析高德地图api获取省市区,生成最新三级联动sql表

    前言: 最近项目中用到了全国省市区三级信息,但是网上找到的信息都是比较旧的信息.与现在最新的地区信息匹配不上.后来想到高德地图上可能有这些信息.所以解析了一下api接口,生成了相关省市区的sql信息. ...

  5. Excel的读取和保存(POI)

    示例 Excel文件: 数据读取: 保存路径: Jar包准备 下载地址: 链接:https://pan.baidu.com/s/1RZAwEsFwjKMlnYYGwHMfaA 提取码:h9mj 文件上 ...

  6. web前端图片上传(2)

    今天发现了一种ajax上传图片的方式,是以前没有用过的,首先来说下为什么要用这种方式.是因为原来后台是用的form表单的方式来提交表单数据的.但是觉得呢,这种方式不太好,因为要刷新页面,前台只用控制台 ...

  7. 03 入门 - 安装MVC 5和创建应用程序

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容: 1. ASP.NET MVC 5的软件需求 2. 安装ASP.NET MVC 5 1)安装MVC 5开发组件 2)服 ...

  8. SuperMap 9D 实时数据服务学习笔记

    SuperMap 在9月份发布了结合大数据技术的9D新产品,今天就和大家介绍下iServer9D中的实时数据服务. 1.技术框架 结合Spark的streaming流处理框架,将各种数据进行批量处理. ...

  9. 基于python的种子搜索网站-开发过程

    本讲会对种子搜索网站的开发过程进行详细的讲解. 源码地址:https://github.com/geeeeeeeek/bt 项目开发过程 项目简介 该项目是基于python的web类库django开发 ...

  10. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...