请问什么叫回调方法?

144
提问者 四舍五不入6
2020-07-29 05:34 悬赏 0财富值 阅读 733回答 5

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

默认分类
登录 后发表回答
1楼 · 2020-07-29 06:14.采纳回答

回调方法2113是指 使用者自己定义一个方法5261,实现这个方法的程序内容,然4102后把这个方法(入1653口地址)作为参数传入别人(或系统)的方法中,由别人(或系统)的方法在运行时来调用的方法。方法是你实现的,但由别人(或系统)的函方法在运行时通过参数传递的方式调用,这就是所谓的回调方法。简单来说,就是由别人的方法运行期间来回调你实现的方法。
举个例子, java定义一个按钮,然后给这个按钮 注册一个监听器, 由于java不支持函数式编程(不考虑lambda表达式,所以我们往里面传入一个匿名内部类, 实现这个类实现的接口的方法),当我们点击这个按钮时,就会触发这个方法, 这个方法是我们调用的吗?不是,他是按钮被点击后,由jvm调用的,这就是回调

小强动画工作室
2楼-- · 2020-07-29 06:00

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

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

扩展资料:

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

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

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

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

屏紫520
3楼-- · 2020-07-29 06:02

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

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

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


扩展资料:

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

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

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

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

4楼-- · 2020-07-29 06:15

在Java中,就是类2113A调用类B中的某个方5261法b,然后类B又在某4102个时候反过来调用类A中的1653某个方法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();

}

}

daxuekuangren
5楼-- · 2020-07-29 06:21

回调方法2113就是一个参数,将一个5261A方法作为参数传到B方法4102里面,当B方法执行完之后,再执行传1653进去的这个A方法。这个过程就叫做回调。
举一个别人举过的例子:约会结束后你送你女朋友回家,离别时,你肯定会说:“到家了给我发条信息,我很担心你。” 对不,然后你女朋友回家以后还真给你发了条信息。小伙子,你有戏了。其实这就是一个回调的过程。你留了个参数函数(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是主函数。她必须先回到家以后,主函数执行完了,再执行传进去的函数,然后你就收到一条信息了。