java 回调机制_浅谈JAVA回调机制

回调是一个在函数执行完成后执行的函数,常用于异步操作。本文通过JavaScript的例子解释了回调的概念,并展示了在Java(如Android和Spring)中如何使用回调。回调允许在不同对象间传递控制,例如在老师和学生之间,模拟作业检查的场景。通过定义回调接口,可以避免代码重复,提高代码复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回调是什么?A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

翻译:

回调是一个函数,它作为参数传递给另一个函数,并在其父函数完成后执行。

目前暂时没有找到比较官方的java中关于回调机制的解释,只能从Js API里面找到这样一句话,不过回调是一种机制,并不独属于某一种语言所拥有。回调在JAVA中同样适用,其中包括Android和Spring中就大量使用了回调这一机制(也可以称为设计模式),至于其他的,笔者接触不多,不敢轻易下结论,如果需要深入了解的话还请去查阅相关的资料。

当然,即使开头的关于回调的英文概念被翻译成了中文,不少人仍觉得难以理解

简单来说,回调就是A类调用B类中的X方法,B类中的X方法执行过程中反过来又调用A类中的Y方法完成回调。

代码举例:

首先引入我前段时间在QQ群里面看到的一个小例子来帮助大家更好的了解。

首先有一个老师A,一个学生B,老师A给B布置了作业,但是老师呢,明天有急事,不能等到明天学生B到学校之后检查他的作业,所以就让B写完作业后把作业拍照发给老师检查。

新建一个Demo,结构如下

定义一个用于回调的CallBack接口:

定义一个老师Teacher类:

定义一个学生Student类:

定义一个Text测试类:

OUT:

代码分析:

分析程序运行的过程,会发现整个程序的流向大概是;Teacher -> Student -> Teacher

至于为什么要单独声明一个接口,而不直接把Teacher类传递给Student呢?其实也可以,但是如果语文,数学,英语,体育,,等等一大堆老师都给你布置了作业的话,那你这个Demo将会多出来很多重复的代码,这样是不利于程序开发的。

最后最后,跪求各位大佬使劲star star 一下,有你们的小星星我会更加坚持下去的

本篇文章PDF版及配套代码下载地址:

Spring学习笔记​github.com

更多文章教程下载:

hanshuaikang/Spring-Note​github.com

参考资料:

wiki百科,简书

作者:韩数

时间:2018-11-27

版本:1.0

代码环境:JDK 1.8 Ecplise2018hanshuaikang/Spring-Note​github.comd408db5a7517b738c8d774453a4ea38e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值