java笔记--什么是接口回调,怎么用

Java接口回调,异步回调理解 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、回调简单理解二、Java中用接口实现回调1.引入库2.读入数据总结 前言 本文是作者在学习接口回调时看到 https://blog.youkuaiyun.com/fengye454545/article/details/80198446 帖子中内容后,对其进行的理解和补充,仅供学习参考,如有错误感谢指正。 一、回调简单理解 小明和小李要一起去吃饭,但小李要先洗个脸。那么正常流程应该是小李先去洗个脸,然后通知小明一起去吃饭。 下面是一个 阅读详情

我们常常在开发中会遇到或者听到回调函数,那什么是回调函数呢,根据看了别人的几篇博客后,我在这里写出自己的理解:

 所谓回调就是A类中设置一个方法b给对象C,C可以执行A中的方法b。通常这个方法是定义在C对象中的接口中的抽象方法,

A设置的时候直接设置这个接口对象即可。

通常A,b,C的关系是这样的,看下别人的解释,其实是一个道理
接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调
如何定义一个回调
a. 定义接口 : 在类(c)中定义一个Interface, 并在接口中定义一个抽象方法(b);
b. 接口对象 : 在类(c)中定义一个该接口的成员变量;
c. 设置对象 : 在类(c)中定义一个公共的方法(d), 可以设置这个接口的对象, 调用该方法给接口对象成员变量赋值;
d. 调用方法 : 在合适的位置调用接口对象中的方法(a调用b方法);

具体代码如下
类C
package com.example.interfacetest.cn;

/**
 * 接口的回调机制
 * 测试的模版类 类似于android中的控件的点击事件
 */
public class Mode {

	CallbackTest mCallbackTest;//定义接口的成员变量

	public interface CallbackTest {//定义回调的接口和方法
		public void function1();

		public void function2();
	}

	/**
	 * 参数是一个接口
	 * @param mCallbackTest
	 */
	public void getInterface(CallbackTest mCallbackTest) {//定义公共方法给接口变量赋值
		this.mCallbackTest = mCallbackTest;
	}

	public void setOnclick() {
		mCallbackTest.function1();
	}
	
	public void setOnclick2() {
		mCallbackTest.function2();
	}
}
类A
package com.example.interfacetest.cn;

import com.example.interfacetest.cn.Mode.CallbackTest;

public class MyInterfaceTest {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Mode mode = new Mode();

		mode.getInterface(new CallbackTest() {

			@Override
			public void function2() {
				System.out.println("这里是从模版中提取出来的方法---.>>2");
			}

			@Override
			public void function1() {
				System.out.println("这里是从模版中提取出来的方法---.>>1");
			}
		});
		//mode.mTest.function1();
		mode.setOnclick();
		mode.setOnclick2();
	}

}
通过接口,我们将大量共通但实现细节不同的方法抽象出来,再去实现它的接口类中具体处理,这样通过接口去调用方法的时候,就可以实现不同的处理,达到复用的效果。
比较常见的是Android中各种按钮的点击事件,再比如fragment间的通信

1、在Fragment中定义接口,申明接口的实例,在onAttach()方法中实现接口实例化为Activity对象

2、在Fragment中的某个方法内,使用接口的实例,调用Activity的方法,向Activity通信

3、Activity实现接口与结构内的方法,实现处理回调的逻辑


参考资料:

  http://blog.youkuaiyun.com/hack_bug/article/details/7625646

  http://blog.youkuaiyun.com/wangjinyu501/article/details/22052187 这个是关于Android中的接口回调的理解

这也是小弟对回调机制的一点拙见,有疑问的请留言,如果有错误希望指出!多谢!


linux下autocad完美替代品bricscad的安装运行 前言 在Linux平台下,能完美兼容.dwg文件的软件并不多。 虽然国产的中望和浩辰为适配uos操作系统,近期都推出了linux版本,但目前好像还没有对应的破姐流出。(如果有的话请私信我或留下评论) 然而有了这一款源自比利时的软件——bricscad,linux下查看和编辑.dwg文件再也不是噩梦了! 安装pj 资源链接:https://pan.baidu.com/s/1dC7zarlqwuO5fa4CBL_KGQ 提取码:24j6 1.下载对应的压缩包,解压并安装其中对应的deb或rpm软件包。 2.在C 阅读详情

相关推荐

Error: dependent ‘..\..\..\..\Qt\5.15.2\msvc2019\include\QtWidgets\QMainWindow‘ does not exist.

核心问题:修改 Build 目录为源码子目录后,MSVC 编译报错,本质是变量设置异常,导致 qmake 生成多余回溯路径;临时解决:在 .pro 文件添加;最优解决:将上述配置写入 Qt 的 msvc 对应 qmake.conf 全局文件,一劳永逸;禁止 qmake 计算路径时向上回溯,避免生成异常路径。

mumufan05的专栏 878

java接口回调_Java接口回调机制详解

一、前言最近在看android fragment与Activity进行数据传递的部分,看到了接口回调的内容,今天来总结一下。二、回调的含义和用途1、什么是回调?一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制...

weixin_35999303的博客 1526

硬件基础(4):(7)ADC电压采集:软件校准(标定、拟合)

在实际项目中,**软件端校准**可以有效弥补硬件方面(分压电阻误差、放大器失调、参考源误差等)带来的系统性偏差,从而提高 ADC 测量精度。下面是一个常见的**多点实测校准**流程与思路,个人感觉传感器标定的原理也只这样。

FCZlll的博客 6246

Java接口回调

回调的含义和用途 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制解决了同步阻塞的问题,例如 A通知 B后,他们各走各的路,互不影响,不用像同步调用那样, A通知 B后,非得等到 B走完后...

数据工匠记 8880

​苹果开发者账号推送证书配置详细指南​

推送证书的配置是iOS应用实现消息推送的核心步骤。通过生成证书、配置描述文件、集成到服务器三大环节,开发者可快速为App启用APNs服务。建议优先使用更灵活的APNs Auth Key替代传统证书,以减少维护成本。确保拥有有效的苹果开发者账号(个人/公司账号),年费已缴纳。

2327

27、振动信号实时并行处理与风力发电机模型鲁棒控制设计

本文探讨了振动信号实时并行处理与风力发电机模型鲁棒控制设计两大核心技术。在振动信号处理方面,提出基于FPGA、RT和PC三级架构的并行采集与处理系统,实现高效、实时的振动分析,适用于电机状态监测与预测性维护。在风力发电控制方面,研究风力农场布局优化(WFLO)问题,比较九种多目标元启发式算法性能,并提出基于扰动观察法的最大功率点跟踪(MPPT)控制策略,提升发电效率与系统鲁棒性。研究成果为工业设备智能监控与可再生能源优化提供了有效技术路径。

sunny的博客 72

[Java]什么是接口回调?

什么是接口回调? 1.接口回调是什么[2]? 接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例。 interface People{ void peopleList(); } class Student implements People{ public void peopleList...

jgw2008的专栏 8241

项目介绍 MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)

本项目基于MATLAB平台,实现LSTM-XGBoost混合模型进行多变量时序预测。通过LSTM网络自动提取时序特征,结合XGBoost强大的回归能力,有效解决多变量时序数据的高维复杂性、长短期依赖捕捉等难题。项目包含完整的数据预处理流程、模型构建与训练方法,以及性能评估指标。提供的GUI界面支持参数调整、训练监控和结果可视化,适用于能源、金融、气象等多领域预测任务。配套代码详细注释,便于理解模型实现细节,为时序预测研究提供实用参考框架。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 102

巧妙理解接口回调

一、为什么会有接口回调?什么是接口回调? 其实这两个问题是一个问题,知道了接口回调的原理自然就知道了为什么会有这么个东西。我们知道java中接口是不可以直接创建实例的,那么问题来了,假如我把一个接口声明为一个变量,那么我执行这个接口中的方法,接口没有实例它该怎么办呢?啊哈,这里自然又改出现java中的另一个特性—“多态”,这时java虚拟机自然会去找其子类,调用其子类中已经重载的该方法,这里就是接...

weixin_42814000的博客 1万+

内容创作全流程自动化:OpenClaw+大模型搞定选题+写稿+多平台发布

本文介绍了一套基于OpenClaw的全自动化内容创作流水线方案,帮助垂直领域创作者摆脱重复劳动。该方案将内容生产拆解为选题生成、内容撰写、格式适配、多平台发布四个模块,通过工作流引擎串联执行。系统能自动采集热榜生成选题、调用大模型撰写结构化内容、适配不同平台格式要求,并通过API+浏览器自动化实现多平台发布,全程只需人工最终审核。作者分享了各模块的实现细节,包括热榜采集、内容结构化生成、Markdown转换和发布策略,并提供了工作流编排方法。这套方案能为创作者每天节省约3小时,同时保证内容质量和发布效率。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 49

【AUTOSAR-COM】-2.3_通过PduGroup批量控制CAN Frame/Pdu的接收

-->如果实现类似UDS诊断 $28服务,控制所有APP CAN Rx Frame/Pdu/报文接收; -->自定义过滤CAN信号的接收。

「汽车电子助手」的博客 1991

接口回调的概念和典型例程(java和kotlin)

接口回调对于初学者来说是一个不太好理解的概念,笔者也是被折磨了好久都没有完全掌握和理解,但是在程序编写确实常常要用到的。本文通过几个实例来学习和理解接口回调的基本概念。接口回调是指把使用实现了某一接口的类创建的对象的引用,赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。不同的类在使用同一接口时,可能具有不同的功能体现,即接口的方法体不必相同,因此接口回调可能产生不同的行为。

ricky1118的博客 3934

FPGA 学习笔记:Vivado 工程更改FPGA 型号

FPGA 学习笔记:Vivado 工程更改FPGA 型号

坚韧与专注 1万+

Winform学习笔记(二)—— WebClient异步回调Java后台接口

【Winform】学习笔记(二)—— WebClient异步回调Java后台接口 背景: 项目中需要用到一个winform的桌面程序,主要是用winform来做前端界面,数据都是来源于Java后台接口,所以在这里做一个Winform调用Java后台接口的学习笔记。 一、调用的几种方式 常见的几种调用机制有同步调用(最基本的调用方式),异步调用,异步回调。 同步调用: 比如对象A中的方法调用到对象B...

ck233的博客 1678

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java学习笔记-接口回调

1.什么是接口回调 举个例子,老师给你一张试卷,我们叫接口。你拿到试卷之后,填写了你的姓名和答案。然后你告诉老师做好了。老师拿到试卷,给你打完分之后,将试卷给你,你就看到分数了。这就是一个完整的接口回调。我们假设老师是A,学生是B,试卷是接口C。首先B拿到接口C,B–C,答题。我们可以理解为互值操作。然后是把互值后的给A,如何给呢?那么B需要提供一个方法共A来调用才行,A调用方法之后,进行校验检查...

编程使我快乐 4129

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java接口回调,Android接口回调读书笔记

单看文章比较难理解,照着多敲几遍代码就理解了 回调就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式: Class A实现接口CallBack callback——背景1class A中包含一个class B的引用b ——背景2class B有一个

weimeig的博客 255

Java学习笔记;接口回调、接口与多态、接口参数。

接口回调

Eysunvoes的博客 646

Java学习笔记-Java接口、实例、与回调

一、定义 Java中经常要求为方法集合指定原型,但不提供实现,这叫做接口。 接口定义的一般形式为: [访问控制符]interface { 类型标识符final 符号常量名n = 常数; 返回值类型  方法名([参数列表]);       … } 二、接口的特点 1、Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即

Un_Believable的博客 740

Java学习笔记004——接口、克隆、回调、内部类

接口 1、接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义 2、定义接口,如: public interface Abc{ int aaa(Object other) } 3、接口中的所有方法自动地属于public,声明在接口中的内部类自动成为static和public 4、接口不能含有实例域,也不能在接口中实现方法,提供实例域和方法实现的任务应该由实现...

weixin_30784141的博客 88

Java回调~mqtt回调处理中的问题

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!回调方法的理解:例子:消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并在每一个地方都设置一个发生火灾时的检测装置,如果危急到人们的人生安全时,那么市民就可以打119给消防员让消防员来处理。分析:消防部门给出的号码119就相当于是一个接口,发生火灾后,市民打电话叫消防员这个动作就是回调。回调的意思就是说:消防部门给我们一个火警电话,发生火灾时我们就可以用这个号码给消防员

2301_79963818的博客 726

回调接口学习笔记

回调方法中: 这个是在D文件中 1.自己定义一个接口,里面有自己必须执行的方法,A,B,这些是自定义的; public interface A{ public void B(String string); }2.设置MainActivity.java中要设定监听事件所调用的方法(下面写在D文件中,给MainActivity.java调用) private A

qq_35573769的博客 307

理解Java接口回调

初步认识: 实现步骤: 1、创建一个回调接口。 2、创建一个回调对象实现回调接口。 3、创建一个控制器对象,将回调对象作为参数传给控制器对象,控制器对象负责检查某个场景是否出现或某个条件是否满足,当满足时,则调用回调对象的某方法。 代码示例: 实例:Boss通知员工做事情,员工完成任务之后告诉Boss完成情况。 说明:Callback:回调接口。Boss:回调对象。Emplo...

qq_41630866的博客 3754

Java接口回调详解

一.产生接口回调的场景 在现实生活中,产生接口回调的场景很简单,比如我主动叫你帮我做一件事,然后你做完这件事之后会通知我,"通知我"这个动作就是接口回调的动作.接口回调重在理解思就好.再举个例子用于下面的代码演示,老师让学生做课堂练习,学生做完练习后并告诉老师. 二.什么是接口回调 在Java的层面简单的说一下接口回调:现有一个接口A,和它的实现类A1,和另外一个有接口A引用的类B,因为类B...

iteen的博客 2万+

Java 接口回调机制

日常开发中接口回调机制无处不在,刚开开始用时却总是晕晕乎乎,网上也有很多相关的文章介绍,但总是没有看得太明白,今天特意花时间来总结一下 一、什么是接口回调 在应用开发中,接口回调机制是一种常用的设计手段,也可以说是一种处理问题的模型,类之间,模块之间,都有一定的调用关系,一般来说,可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的

QDJdeveloper 6528

java接口回调、同步回调、异步回调

一、回调         回调用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调。         例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。         其实回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高

feifei 9021
上一篇: java笔记--设计模式之装饰模式
下一篇: 发现了一个好的全面且好用的数据接口
android_cmos
博客等级 码龄12年 177粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值