java使用回调函数

article/2025/10/5 16:16:09

java回调函数

回调函数(callback Function),顾名思义就是用来回调的函数。在两个类A、B中,A在调用B接口的同时B也在调用A

回调函数也常用于线程中的异步获取消息。

举个简单的例子,公司中老板分发任务给员工A,让A完成任务一段时间后回复老板,而老板总不能等待A完成任务,期间老板可能还要做其他重要的事情,所以A就可以通过回调通知老板任务完成了

代码例子

1.定义回调接口,内置一个员工回复老板的函数

public interface MyCallback {public void callback(String massage);
}

2.Boss类,实现回调接口,让员工任务完成后知道要回复的对象

package callback;public class Boss implements MyCallback{//老板姓名private String name = "";//分配任务的员工对象Employee employee = null;public Boss(String name,Employee employee){this.name = name;this.employee = employee;}//分配任务public void schedule(){//this指当前Boss类的对象employee.work(this,"打电话给技术部小李-"+name);
}//实现接收员工回复的函数@Overridepublic void callback(String massage) {System.out.println(name+"收到员工"+employee.getName()+"回复:"+massage+"  ");}
}

3.Employee类

package callback;public class Employee {//员工姓名private String name = "";public Employee(String name){this.name = name;}//接收老板安排的任务public void work(MyCallback callback,String myWork){System.out.println("员工"+name+"收到工作消息,工作是:"+myWork);//创建并开启线程new Thread(new Runnable() {@Overridepublic void run() {try {//休眠1sThread.sleep(1000);//回复老板任务完成情况callback.callback("回复老板工作做完了");} catch (InterruptedException e) {e.printStackTrace();}}}).start();}public String getName() {return name;}
}

4.测试类

public class Test {public static void main(String[] args) {Boss boss = new Boss("王老板",new Employee("铁蛋"));//王老板给员工铁蛋布置任务boss.schedule();Boss boss1 = new Boss("黎老板",new Employee("狗蛋"));//黎老板给员工狗蛋布置任务boss1.schedule();}
}

5.结果
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ww6MBJww.shtml

相关文章

java中回调函数的实现

在java的事务中,有时候可能会遇到以下情况,第一步是更新某某表,中间可能要更新不确定的多步,最后一步是更新缓存,结构大致如下: (1)updateA(); (2)updateXX…

什么是java回调函数

回调函数 一:故事背景二:概念三:回调函数的作用四:java中如何进行回调4.1 类图4.2 定义回调接口4.3 实现回调接口4.4 调用方法使用回调函数4.5 Main函数调用4.6 总结描述 五:回调函数的优点5.1 灵活性5.2 解耦性5.3 异…

简单举例JAVA回调函数的实现

来自维基百科的对回调(Callback)的解释:In computer programming, a callback is any executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at a given time. This execut…

java回调函数机制

Java回调函数机制 参考了网上的一些资料,下面也做出一些总结,供初学者了解学习。 一、 概述 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调、异步调用 。 同步调用:一…

java中如何实现回调函数

最近工作需要研究了一会别人写的库,其中充满着各种"回调函数",因此把自己理解给记录下来,存档。 首先我们来看看回调函数 这个概念的具体由来,百度百科的示义如下: 回调函数就是一个通过函数指针调用的函数。…

Java回调函数 + 使用案例

文章目录 前言什么是回调函数第0个版本第1个版本第2个版本第3个版本第4个版本第5个版本第6个版本回头解析前言描述的问题1. MethodIntrospector.selectMethods()2. 抽象类MethodIntrospector3. 方法selectMethods()4. 成员变量USER_DECLARED_METHODS5. 方法doWithMethods()6. d…

Java-回调函数

什么是回调 函数调用可以分为三种模式,串行调用、异步调用、回调。这三种都是日常开发中常见到的方式。 一个方法执行完,再执行下一个,串行逻辑会阻塞线程执行流程,等到所有逻辑执行结束,线程才会结束。 异步执行是…

java回调函数(callBack)

最近有个新同事给我写了个接口,说是用到了回调,我等了半天发现结果才返回回来,把我都整急了。最后我看了他的代码,目瞪口呆。他还信誓旦旦的说没错,按网上的例子来写的。 我一搜,网上例子真一大堆&#xff…

java回调函数的作用以及运用

模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的…

Java回调函数理解和应用

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

java回调函数(全干货)

产生接口回调的场景 产生接口回调的场景很简单,比如A叫B帮忙做一件事,交代完后A去忙别的事,然后B做完这件事之后会通知A, 通知A的这个动作就是接口回调的动作。接口回调 接口回调的意义是通过接口来实现解耦的的前提下调用另一个类的方法,也就是B为A准…

深入理解Java回调函数

废话不多说,像许多网上介绍回调机制的文章一样,我这里也以一个现实的例子开头:假设你公司的总经理出差前需要你帮他办件事情,这件事情你需要花些时间去做,这时候总经理肯定不能守着你做完再出差吧,于是就他…

java 回调函数解读

模块间调用 在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种: (1)同步调用 同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b()&…

java中的回调函数

CALLBACK,即回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接…

Java回调函数详解

什么是回调函数(CallBack) 在编写程序时,有时候会调用许多API中实现实现的函数,但某些方法需要我们传入一个方法,以便在需要的时候调用我们传入进去的函数。这个被传入的函数称为回调函数(Callback functi…

numpy 数据类型转换

参考NumPy 数据类型 - 云社区 - 腾讯云 首先需要导入numpy模块 import numpy as np 首先生成一个浮点数组 a np.random.random(4) dtype的用法 看看结果信息,左侧是结果信息,右侧是对应的python语句 我们发现这个数组的type是float64,…

javascript学习之数据类型转换

⭐️⭐️⭐️ 作者:船长在船上 🚩🚩🚩 主页:来访地址船长在船上的博客 🔨🔨🔨 简介:资深前端开发工程师,专注前端开发,欢迎咨询交流&#xff0…

【Python入门篇】——Python基础语法(数据类型与数据类型转换)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

Java八种基本数据类型转换

转换规则&#xff1a; 1、八种基本数据类型当中除布尔类型之外剩下的7种类型之间都可以相互转换。 2、小容量向大容量转换&#xff0c;称为自动类型转换&#xff0c;容量从小到大排序(此处没有布尔类型)&#xff1a; byte < short < int < long < float < doub…

Java数据类型转换

前言 我将在这篇文章中介绍关于Java数据类型转换的知识 一、Java基本数据类型的转换 Java的数据类型转换分两种&#xff0c;一种是由低精度向高精度转换&#xff0c;另一种是由高精度由低精度转换 double float long int short byte 以上数据类型的精度由高到低 1.由低精度向…