首页 > 编程知识 正文

什么时候使用回调函数,回调函数怎么理解

时间:2023-05-03 09:42:21 阅读:241307 作者:1756

作为程序员,回调这个词是我们经常听到的一个词,对于新手来说,可能很多人搞不清楚回调的意思。

我想我们很容易理解“调”这个字,假如有两个类A和B,我们很容易理解“A调B的方法”是什么意思,那么前面加个“回”,是多了什么意思呢?其实就是在“A调B的方法”的基础上,“B又调了A中的方法”。

我们可以这样初步描述回调的意思:B的方法在被A触发的情况下去调用了A的方法。

根据百度百科的描述:

回调函数就是一个通过函数指针调用的函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的。

那么根据该描述,A中被B调用的方法就是回调函数,在这里特定的事件就是“A调用了B的方法”。

所以只要不是由A来主动调用自己的方法,而是由于某种事件被其他类调用,我们都可以说A的方法是回调函数。

接着我们还可以这样描述:由于是B调用了A的方法,那么就是A向B注册了自己的回调函数,而B的方法响应了回调事件,那么B的方法称为响应函数。

现在我们可以列出整个回调流程需要的要素:

被调用方(定义回调函数的A) 

调用方(调用回调函数的B)

触发回调响应的事件(A调用了B的响应函数)

回调函数(A中实现)

响应函数(B中实现)

流程:

A定义回调函数,注册到B的响应函数,事件触发,B调用响应函数,响应函数调用回调函数。

那么现在我们就可以说:回调就是在某种事件触发的情况下,由响应事件的一方去调用注册的一方的过程。

前面说过:回调函数是通过指针调用的函数。

但是java中没有指针的用法,所以我们可以通过定义一个只有一个方法的接口,然后作为响应函数的参数,来实现类似指针的方式。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。