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

1. java回调机制

回调方法的理解:

例子:

消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并在每一个地方都设置一个发生火灾时的检测装置,如果危急到人们的人生安全时,那么市民就可以打119给消防员让消防员来处理。

分析:

消防部门给出的号码119就相当于是一个接口,发生火灾后,市民打电话叫消防员这个动作就是回调。回调的意思就是说:消防部门给我们一个火警电话,发生火灾时我们就可以用这个号码给消防员打电话,但最终处理问题的不是我们自己,而是消防员。我们就相当于是一个信息反馈者,只负责给消防员反馈信息,最终该处理者还是消防员。如下图

java回调机制

回调方法是把功能定义和功能实现分离的一种手段,是一种松耦合的设计思想。Android中的控件响应就是利用了回调方法。

模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,解决了同步阻塞的问题,举例来讲:A通知B后,他们各走各的路,互不影响,不用像同步调用那样,A通知B后,非得等到B走完后,A才继续走。回调是异步的基本。

2. 代码实现

  • I119_CallBack.java

package com.callback.test;

public interface I119_CallBack {

// 回调方法

public void callBack_119(int num);

}

  • Call119Listener.java

package com.callback.test;

public class Call119Listener implements I119_CallBack{

/**

  • 回调处理方法

  • 如果是119,消防人员出动

*/

public void callBack_119(int num) {

if(num==119){

System.out.println(“—>消防员出动.”);

} else {

System.out.println(“—>不在119职责范围内,请联系其他部门.”);

}

}

}

  • Caller.java

package com.callback.test;

/**

  • 电话设备

  • @author GeekHou

*/

public class Caller {

// 回调实现类,相当于手机卡或者电话线

private I119_CallBack callBack;

// 座机

public Caller() {

}

// 座机还需接上电话线,对吧

public void setCallListener(I119_CallBack callBack){

System.out.println(“—>座机”);

this.callBack = callBack;

}

// 手机

public Caller(I119_CallBack callBack) {

System.out.println(“—>手机”);

this.callBack = callBack;

}

// 拨号报警

public void callPolice(int num) {

System.out.println(“—>拨号:”+num);

callBack.callBack_119(num);

}

}

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值