接口回调用法解析

STM32_WS2811驱动 STM32的WS2811驱动 阅读详情

应用场景:比如我写一个工具,下载任务,下载任务可能成功,可能失败。为了解耦,我的这个下载工具类只能专门用来下载,如何处理成功和失败,这个就交给调用方来完成。

回调接口

接口声明。

/**
 * @描述: 结果回调
 */
public interface ResultCallback {

    void success();

    void failure(Exception e);
}
被调用方(下载任务)

接口定义,并使用。

/**
 * @描述: 下载任务
 */
public class Download {

    private ResultCallback callback;

    public Download(ResultCallback callback) {
        this.callback = callback;
    }

    public void excuteDownload(String usrl) {

        new Thread(new Runnable() {
            @Override
            public void run() {
                HttpURLConnection conn = null;
                try {
                    conn = (HttpURLConnection) new URL(usrl).openConnection();
                    conn.setConnectTimeout(5 * 1000);
                    conn.setRequestMethod("GET");
                    //do download things here ...

                    callback.success();  //thing's done callback
                } catch (IOException e) {
                    callback.failure(e);   // thing's error  callback
                }
            }
        });
    }
}
调用方

接口实现。

  public static void main(String args[]){

        new Download(new ResultCallback() {
            @Override
            public void success() {
                //do something when work is done
            }

            @Override
            public void failure(Exception e) {
                //do something when work is fail
            }
        }).excuteDownload("your parameter");
    }

总结:接口回调,实际上是利用了java中的多态性,利用父亲引用指向子类的地址,从而实现父亲接口调用子类实现类的方法。接口回调是设计模式的解耦核心,可以说几乎所有的模式都用到了接口回调。

超强干货之---Python-数据爬取(爬虫) 定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。 阅读详情

相关推荐

从S参数矩阵到硬件实现:手把手教你用耦合微带线设计Marchand巴伦

本文详细介绍了使用耦合微带线设计Marchand巴伦的完整流程。从奇偶模理论和S参数矩阵分析入手,结合ADS仿真软件进行参数优化与电磁仿真验证,最终指导PCB布局、制作与实测调试。文章以2.4GHz Wi-Fi前端电路为例,手把手演示了从理论计算到硬件实现的全过程,并分享了关键的工程经验与调试技巧。

weixin_29271263的博客 536

Python——回调函数(callback)

摘要 主要是介绍python 的回调函数callback。 什么是回调函数 当程序运行是,一般情况下,应用程序会时常通过API调用库里所预先备好的函数。但是有些库函数却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。 例如: 有一家旅馆提供叫醒服务,但是要求旅客自己决定叫醒的方法。可以是打客房电话,也可以是派服务员去敲门,睡得死怕耽误事的,还可以要求往自己头上浇盆水。这里,“叫醒”这个行为是旅馆提供的

庄小焱 4万+

S32K3的STCU2模块详解:从硬件FSM到MCAL配置,搞懂BIST在线测试全流程

本文深入解析S32K3系列MCU的STCU2模块,从硬件FSM架构到MCAL配置,详细讲解BIST在线测试全流程。通过分区的安全策略和实战代码示例,帮助开发者掌握汽车电子系统中的功能安全实现,提升系统可靠性和安全性。

weixin_42525328的博客 446

命令行模块——click(二)

命令是 Click 库中的核心部分,它们代表了我们可以在命令行中执行的不同操作。在 Click 中,我们可以通过使用装饰器来定义一个命令,并使用函数体内的代码来实现该命令的功能。在上面的例子中,我们使用 Click 的装饰器来定义了一个名为hello的命令,该命令不接收任何参数,如果代码写在demo.py当执行时,会输出“Hello, world!”的信息。一般来说,我们会给命令添加参数和选项,也就是在之前的文章中所写的那样。

Barry_110的博客 1697

24位ADC的精度陷阱:为什么你的ADS1232实测性能不达标?

本文深入探讨了24位ADC芯片ADS1232在实际应用中性能不达标的原因,揭示了高精度ADC性能依赖周边电路设计的关键问题。通过分析电源系统、参考电压稳定性、PCB布局等常见陷阱,提供了优化方案和调试技巧,帮助工程师充分发挥ADS1232的潜力,实现接近理论值的测量精度。

weixin_28285943的博客 405

强化学习入门8—深入理解DDPG

本文是强化学习入门系列的第八篇,前面我们讲Actor-Critic时提到了DDPG。DDPG是google DeepMind团队提出的一种用于输出确定性动作的算法,它解决了Actor-Critic 神经网络每次参数更新前后都存在相关性,导致神经网络只能片面的看待问题这一缺点。同时也解决了DQN不能用于连续性动作的缺点。

小菜羊的博客 4314

回调函数(callback)详解

回调函数(callback)的应用,冒泡排序的模拟实现

Happysky_1的博客 4838

Vue3+codemirror6实现公式(规则)编辑器

vue3+codemirror6+ts实现公式编辑器,可以插入标签、公式,也有补全提示

小阮的笔记本 5044

python 回调函数(Callback)

参考博文:python 回调函数(Callback)

u014765410的博客 1472

锁定放大器

锁定放大器

qq_46757048的博客 4706

从零开始之驱动发开、linux驱动(七、字符驱动之led最终版)

我们上一接用的gpiolib非常杂乱,使用了两种 1.各硬件厂商实现的,如s3c_gpio_cfgpin(S5PV210_GPJ0(5), S3C_GPIO_SFN(1)) 2.系统公共的,如gpio_set_value(S5PV210_GPJ0(4),val) 其实公共的也是对各硬件厂商的封装,用那个都可以,个人建议用系统公共的,应为这样换芯片厂商,不影响任何使用。   2.错误处理基...

To_run_away的博客 2386

深入理解Callback函数

head是通过CreateLinkTable创建了一个tLinkTable*即链表头指针,再调用AddLinkTableNode往链表中插入tLinkTable *类型的数据,而InitMenuData函数在这个链表中插入的都是tDataNode*,这里是多态的实现,让“父类”(父结构体tLinkTableNode)指针指向“子类”(子结构体tDataNode)的对象,由于类型不匹配所以要进行强制类型转换。在findCmd函数中用到了这个“在链表中按照给定查询条件查询结点”的功能。

weixin_42022878的博客 345

科研级YOLOv8 Neck革新:BiFPN双向特征金字塔赋能,让多尺度融合更高效的实战指南

在文件夹下新建BiFPN.py,将上述BiFPNLayer和BiFPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

m0_64661770的博客 153

接口回调目的和用法解析

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

qzhuorui 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java接口回调_Java编程接口回调一般用法代码解析

接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。Java接口回调一般用法:实现接口实际上和继承抽象类类似,只不过继承是在类的层面上操作,接口是在方法和常量集合的层面上操作,接口比抽象类更抽象、更简洁。可以把实现...

weixin_30561959的博客 485

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java回调方法

最近被人问到java实现回调方法d

lrq1988的专栏 890

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【传智播客郑州】java接口回调的经典使用案例

内容简介: 接口回调的理解及需要关注的问题 接口回调一般常规用法 接口回调简洁用法 接口回调的意义 接口回调简介: 简单的说接口回调就是:调用者A类访问了被调用者B类中的M方法.这个M方法在执行完毕后又调用了A类中的方法. 问题? B类中的M方法是如何访问A类中的方法的呢?弄清了这个问题,也就明白了接口回调. 下面我们根据一个场景描述去编写代码

qq_40208605的博客 663

java中接口回调详解

/ 1. 定义回调接口// 请求成功// 请求失败// 发生异常// 2. 网络请求类(回调执行者)// 注册回调// 发起请求@Overridetry {// 模拟网络请求// 模拟不同情况return;case 0:// 成功callback.onSuccess("{\"name\":\"张三\",\"age\":18}");break;case 1:// 失败(服务器返回错误)break;case 2:// 异常。

qq_39460057的博客 485

java 回调函数(callback)详解

特别详尽,值得详读。 著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:futeng 链接:https://www.zhihu.com/question/19801131/answer/26586203 来源:知乎 回调方法介绍之中国好室友篇(Java示例) 前言 在Java社区的各种开源工具中,回调方法的使用俯拾即是。所以熟悉回调方法无

yuebao的专栏 1177

Java抽象类和接口

一、上转型对象及其特征   上转型对象:     子类对象赋值给父类对象   上转型对象是可以调用被子类继承的变量和方法,不能调用子类自己创建的变量和方法。   上转型对象不能调用子类自己创建的变量和方法,如果需要强制使用就需要将上转型对象强制类型转换成子类对象。 例如: package com.wangxing.test1; //父类 public class Person { public void testPerson() { System.out.println("父类Person的实例方

qibulemingzi的博客 739

java典型接口方法_Java 常用函数式接口 —— Consumer接口

JDK提供了大量的函数式接口,方便我们开发的时候无需自己编写接口,这些接口都比较通用,学会他们并且在工作中使用,不仅方便的解决问题,而且十分优雅。1、接口概述Consumer 接口也比较简单,只有两个方法,一个是抽象方法,一个是默认方法:@FunctionalInterfacepublic interface Consumer {void accept(T t);default Consumer ...

weixin_42263617的博客 1128

使用jdbcTemplate查询的三种回调

使用jdbcTemplate查询的三种回调 用于查询的回调接口定义主要有以下三种: org.springframework.jdbc.core.ResultSetExtractor.  基本上属于JdbcTemplate内部使用的Callback接口,相对于下面两个Callback接口来说,ResultSetExtractor拥有更多的控制权,因为使用它,你需要自行

不了了之专栏 1048

java accept consumer_Java 常用函数式接口 —— Consumer接口

JDK提供了大量的函数式接口,方便我们开发的时候无需自己编写接口,这些接口都比较通用,学会他们并且在工作中使用,不仅方便的解决问题,而且十分优雅。1、接口概述Consumer 接口也比较简单,只有两个方法,一个是抽象方法,一个是默认方法:@FunctionalInterfacepublic interface Consumer {void accept(T t);default Consumer ...

weixin_31411313的博客 2505

用spring的JdbcTemplate进行查询的三种回调方式的比较

我们做过的很多项目中都会使用spring的JdbcTemplate进行结果集的查询操作,以前在使用的时候一直都是“拿来主义”,功能实现了就OK了,没有深究什么内容,特别是查询接口的回调内容方法,没有过多的研究过细节内容。最近一次使用JdbcTemplate进行查询操作,发现了一些有规律的内容,所以就深入学习了一下。和大家一起探讨一下: 对于spring的JdbcTemplate进行结果集查询操作...

HD243608836的博客 693

Java抽象类与接口一篇搞懂

上转型对象:     子类对象赋值给父类变量   上转型对象是可以调用被子类继承的变量和方法,不能调用子类自己创建的变量和方法。   上转型对象不能调用子类自己创建的变量和方法,如果需要强制使用就需要将上转型对象类型强制转换成子类对象。......

qibulemingzi的博客 154

java中的抽象类和接口

5.12.什么是上转型对象及其基本特征? 上转型对象—子类对象赋值给父类变量。 例如: package chou20200813_1_1; //父类 public class Perosn { public void tP() { System.out.println("父类Person的实例方法"); } } package chou20200813_1_1; //子类 public class Student extends Perosn{ public void tS()

一个小白 406
上一篇: IoC原理之IoC容器系列的设计与实现
下一篇: IOC原理之IoC容器的初始化过程
She_lock
博客等级 码龄12年 157粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值