this.bookName = "The little prince";
this.author = "Antoine";
System.out.println("---------callback实现类 bookName=="+ this.bookName +" author==="+this.author);
3.定义业务处理类
业务处理类里的方法
形参传入CallBack接口
。
业务处理类里的方法内容包括:
处理业务和执行回调函数
。
//业务处理类
public class TestBookCallBack {
public void test(CallBack callBack){
//1.处理业务
System.out.println("---------业务处理类 TestBookCallBack---------");
//2.执行回调函数
callBack.execute();
4.1 定义主函数-使用匿名内部类 实现callback
import org.junit.Test;
public class Main {
@Test
public void main() {
TestBookCallBack testBookCallBack = new TestBookCallBack();
testBookCallBack.test(new CallBack() {
@Override
public void execute() {
System.out.println("-------------------Anonymous Inner Class-------------------");
执行结果为
---------业务处理类 TestBookCallBack---------
---------Anonymous Inner Class---------
4.2定义主函数,使用callback的实现类 实现callback
import org.junit.Test;
public class Main {
@Test
public void main() {
TestBookCallBack testBookCallBack = new TestBookCallBack();
BookCallBack bookCallBack = new BookCallBack();
testBookCallBack.test(bookCallBack);
System.out.println("---------main---------在主函数中 获取callback实现类里定义的变量值----------" + bookCallBack.getBookName()+"----"+ bookCallBack.getAuthor());
---------业务处理类 TestBookCallBack---------
---------callback实现类 bookName==The little prince author===Antoine
---------main---------在主函数中 获取callback实现类里定义的变量值----------The little prince----Antoine
首先声明,回调函数并不是一种特殊的函数结构,而指的是利用函数指针来回调写好的函数的一种使用方法。
1.回调函数是什么其具体实现是使用者自己定义一个函数,并且使用者自己实现这个函数的程序内容,然后将自己的函数作为参数传入别人的函数中,由别人的系统函数在运行时调用。简单地说也就是—-由别人的函数运行期间来回调你实现的函数。别人并不关心你的函数的具体实现,只知道在什么时候调用你的函数;而你知道你的函数的
在Java开发中,Callback模式是一种重要的设计模式,用于处理异步通信和事件处理。本文将详细介绍Callback模式的意图、解释、编程示例、适用场景、实际应用、优点和权衡。同时,还将提供示例代码的下载链接,方便读者进行学习和实践。
1、什么是Callback,什么时候需要使用Callback
callback是回调的意思,一般我们需要2个类需要相互掉用,一个类把数据动态传递给另外一个类的时候,可以用这种方式,比如Android里面的Launcher类和LauncherModel类,LauncherModel里面有接...
回调的核心:回调方将本身即 this 传递给调用方,这样调用方就可以在调用完毕之后告诉回调方想要知道的信息。
从软件模块之间的调用方式看,分为三类:同步调用、异步调用和回调。
1️⃣同步调用
同步调用是最基本并且最简单的一种调用方式,类 A 的 a() 调用类 B 的 b(),一直等待 b() 执行完毕,a() 继续往下走。该调用方式适用于 b() 执行时间不长的情况,因为 b() 执行时间过长或者直接阻塞的话,a() 的余下代码是无法执行下去的,这样会造成整个流程的阻塞。
2️⃣异步调用
最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按照由浅到深的顺序描述一下,如有不妥之处,望不吝赐教!
开始之前,先想...
回调(Callback)是一种设计模式,在这种模式中,一个可执行的代码被作为参数传递给其他代码,接收方的代码可以在适当的时候调用它。在真实世界的例子中,当我们需要在任务完成时被通知时,我们可以将一个回调方法传递给调用者,并等待它调用以通知我们。简单地说,回调是一个传递给调用者的方法,在定义的时刻被调用。维基百科说在计算机编程中,回调又被称为“稍后调用”函数,可以是任何可执行的代码用来作为参数传递给其他代码;其它代码被期望在给定时间内调用回调方法。
按调用方式分为:
同步调用:类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。
异步调用:类A的方法方法a()通过新起线程的方式调用类B的方法b(),代码接着直接往下执行。
回调:包括同步回调和异步回调。
回调机制是什么哪?先上一幅图来说明一下吧,这里用老师问问题,学生回答问题为例子,解释一下回调机制的使用首先需要一个接口callback,以及一个继承了接口的类Teacher。Teahcer类中有另一个类Student的对象,在Teacher中执行函数,会调用student中的方法,student执行对应方法后再回调Teacher中重写的接口方法,这样就完成了一次回调方法。1. 首先定义一个回调的接...
回调函数在编程中是一种常见的设计模式,它允许一个函数在特定的时刻或条件下调用另一个函数。在Java中,我们可以通过接口和匿名内部类实现回调函数。本文将详细介绍Java中的回调函数,并提供相关代码示例。