1、什么是回调函数

回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。在Java中,指针即所谓的引用。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

回调方法 是 任何一个 被 以该回调方法为其第一个参数 的 其它方法 调用 的方法。很多时候,回调是一个当某些事件发生时被调用的方法。

2、应用场景

事件驱动机制

举例:甲雇佣乙修车;然后甲就去做其他事情;乙完成后通知甲:车已修好,请来取。即甲没必要一直等待乙修完车。

3、代码示例

1、测试类

package com.callBack;
public class CallBckTest {public static void main(String[] args) {MainBusiness mainBusiness = new MainBusiness();System.out.println("*********具体实现类实现的回调方法_固定*********");mainBusiness.execute(new CallbackServiceImpl());System.out.println("*********匿名内部类实现的回调方法_灵活*********");mainBusiness.execute(new CallbackService() {public void callBackFunc() {System.out.println("匿名内部类回调函数开始执行...");System.out.println("匿名内部类回调函数结束执行...\n");}});}
}

2、业务类与方法

package com.callBack;
public class MainBusiness {private CallbackService callback;public void execute(CallbackService callback) {this.callback = callback;callBack();}public void callBack() {callback.callBackFunc();}
}

3、回调函数接口

package com.callBack;
//回调函数之接口与方法
public interface CallbackService {void callBackFunc();
}

4、回调函数实现类

package com.callBack;
public class CallbackServiceImpl implements CallbackService {@Overridepublic void callBackFunc() {System.out.println("具体实现类回调函数开始执行...");System.out.println("具体实现类回调函数结束执行...\n");}
}

5、打印结果

*********具体实现类实现的回调方法_固定*********
具体实现类回调函数开始执行...
具体实现类回调函数结束执行...*********匿名内部类实现的回调方法_灵活*********
匿名内部类回调函数开始执行...
匿名内部类回调函数结束执行...

Java回调函数实现案例相关推荐

  1. Java 回调函数的理解

    以下是我对java回调函数的理解,希望对各位有帮助. 简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法).其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有 ...

  2. [实战]java回调函数

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

  3. java反射回调函数_用J2V8注册Java回调函数

    J2V8是一套针对谷歌的V8 JavaScript引擎的Java绑定.J2V8的开发为Android平台带来了高效的Javascript的执行环境,taris.js 就是基于J2V8开发的.J2V8同 ...

  4. Java回调函数理解和应用

    #Java回调函数理解和应用 所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的. 在未理解之前,我也是一脸懵逼,等我理 ...

  5. Java 回调函数详解及使用

    Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通 ...

  6. Java 回调函数(传统方法和lambda方法)-一个例子秒懂

    原文地址为: Java 回调函数(传统方法和lambda方法)-一个例子秒懂 背景: 想写一个工具类 Tool.java ,其中方法 public void readOneLine() 负责一行一行地 ...

  7. Java回调函数异步回调案例

    1.回调函数分类 回调函数区分:同步回调和异步回调 同步回调:意义只在于完成方法调用: 异步调用:可实现并发,主业务线程可以及时释放:异步线程完成工作,执行回调函数,完成善后工作:提高了执行效率. 2 ...

  8. Java回调函数的理解

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

  9. java回调函数_PHP回调函数及匿名函数概念与用法详解

    1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...

  10. Java回调函数使用

    C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: l         直接调用:在函数A的函数体里通过书写函数B ...

最新文章

  1. Protocol Buffer Basics: C#
  2. 【转贴】Decoda Tutorial LUA调式器
  3. Surrounded Regions
  4. AWS CEO Andy Jassy 专访:我们一直思考的是未来 2-5 年的事 | 人物志
  5. 【动态规划】天上掉馅饼
  6. python解base64_python模块之base64
  7. Javascript读取本地文件
  8. uni-app小程序使用u-pase富文本解析图片时会出现闪现一下默认的尺寸再变成设置的宽高,有种先大后小的闪现
  9. Linux中scp报 not a regular file错误解决方案
  10. 推荐两个软件下载网站:多特和绿盟
  11. python pgm 转 bmp
  12. 警告: A docBase D:\apache-tomcat-8.5.12\webapps\webapps\projectname inside the host appBase has been
  13. Javascript-introduce
  14. 读书笔记-深度学习入门之pytorch-第四章(含卷积神经网络实现手写数字识别)(详解)
  15. 某校2019专硕编程题-前10名学生成绩
  16. python输入一个三位整数、输出三位数之和_编写程序,从键盘输入一个3位的正整数,输出它的百位数,十位数和个位数,并且计算它的和...
  17. 三维深度学习之pointnet系列详解(一)
  18. (手机拍照)4、修图软件
  19. 如图,甲乙两人分别在AB两地同时相向而行,于E处相遇后,甲继续向B地行走,乙则休息了14分钟,在继续向A地行走,甲和乙到达B和A后立即折返,又在E处相遇,已知甲每分钟行走60米,乙每分钟行走80米
  20. Spring Security Web : DefaultWebSecurityExpressionHandler 缺省Web安全表达式处理器

热门文章

  1. Chapter 2 大规模MIMO系统信息论基础及信道容量分析
  2. 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第六章课后习题答案
  3. python绘制函数x^2+y^2的3D图像
  4. 油猴管理程序复制百度文库网页内容
  5. 记一次根据url下载金庸有声小说
  6. 加密工具truecrypt 中文版 的加密解密添加文件的方法
  7. 数字形式转换,输入0123456789对应输出“一二三四五六七八九”
  8. 关于web前端性能优化总结
  9. 用什么软件测试电视盒子真假,网络机顶盒哪个好?专业盒子测评告诉你哪款最值得买...
  10. c语言图纸编号自动编号,【亲测能用】Auto CAD自动编号工具支持CAD2004-2020插件下载-羽兔网...