请问啥叫回调方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问啥叫回调方法?相关的知识,希望对你有一定的参考价值。

是不是调一个方法,把返回值作为另一个方法的参数就叫回调方法?

回调函数就是一个通过函数指针调用的函数。

如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,那就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

不管怎么说,回调函数是继承自C语言的。在C++中,应只在与C代码建立接口或与已有的回调接口打交道时,才使用回调函数。除了上述情况,在C++中应使用虚拟方法或仿函数(functor),而不是回调函数。


扩展资料:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

回调是任何一个被以方法为其第一个参数的其它方法的调用的方法。很多时候,回调是一个当某些事件发生时被调用的方法。

参考资料:百度百科-回调函数

参考技术A

回调方法就是一个参数,将一个A方法作为参数传到B方法里面,当B方法执行完之后,再执行传进去的这个A方法,这个过程就叫做回调,例如:

java定义一个按钮,然后给这个按钮注册一个监听器,由于java不支持函数式编程(不考虑lambda表达式,所以我们往里面传入一个匿名内部类,实现这个类实现的接口的方法),当我们点击这个按钮时,就会触发这个方法,这个方法不是我们调用的,是按钮被点击后,由jvm调用的,这就是回调。

扩展资料:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

回调是任何一个被以方法为其第一个参数的其它方法的调用的方法。很多时候,回调是一个当某些事件发生时被调用的方法。

参考资料来源:百度百科-回调函数

参考技术B 在Java中,就是类A调用类B中的某个方法b,然后类B又在某个时候反过来调用类A中的某个方法a,对于A来说,这个a方法便叫做回调方法

pubilc interface CallBack

public void callbackMethod();



public class A implements CallBack // A实现接口CallBack

B b = new B();

public void do()

b.doSomething(this); // A运行时调用B中doSomething方法,以自身传入参数,B已取得A,可以随时回调A所实现的CallBack接口中的方法



public void callbackMethod() // 对A来说,该方法就是回调方法

System.out.println("callbackMethod is executing!");





public class B

public void doSomething(CallBack cb) // B拥有一个参数为CallBack接口类型的方法

System.out.println(“I am processing my affairs… ”);

System.out.println(“then, I need invoke callbackMethod…”);

cb.callbackMethod();



本回答被提问者采纳
参考技术C 回调,也叫CALLBACK,也就是说,你写一个函数,函数声名是人家指定的,然后再将你这个函数的地址给人家提供给你的一个函数指针变量。
最后你激活人家的库,使其运转,他在特定的时候就会调用你的库:)

比如说:你写了一个函数,函数的作用就是显示当前鼠标所在处的像素点的颜色值;然后你把这个函数给“挂接”到一个窗口的OnMouseClick函数指针里,当程序执行后,你点了一下窗口,那个函数中的代码(显示颜色值)就执行了:)
参考技术D 回调方法是指 使用者自己定义一个方法,实现这个方法的程序内容,然后把这个方法(入口地址)作为参数传入别人(或系统)的方法中,由别人(或系统)的方法在运行时来调用的方法。方法是你实现的,但由别人(或系统)的函方法在运行时通过参数传递的方式调用,这就是所谓的回调方法。简单来说,就是由别人的方法运行期间来回调你实现的方法。
举个例子, java定义一个按钮,然后给这个按钮 注册一个监听器, 由于java不支持函数式编程(不考虑lambda表达式,所以我们往里面传入一个匿名内部类, 实现这个类实现的接口的方法),当我们点击这个按钮时,就会触发这个方法, 这个方法是我们调用的吗?不是,他是按钮被点击后,由jvm调用的,这就是回调

以上是关于请问啥叫回调方法?的主要内容,如果未能解决你的问题,请参考以下文章

请问Ajax如何获取回调函数的返回值?

在网页打印显示请求服务器成功,但回调JS方法出错!

STM32 中定时器中断回调函数中加入adc采样轮换查询后,中断函数不执行?请问怎么解决?

java回调方法钩子方法以及模板方法模式

回调函数的使用

理解Activity中的方法回调