猿问

java中回调函数到底怎么解释?

解释都太过于概念化,有没有通俗点的?

小胡闹儿
浏览 1581回答 2
2回答

侠客岛的含笑

 所谓回调,就是客户程序C(用户)调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C(用户)中的某个函数B,对于C来说,这个B便叫做回调函数。下面举个通俗的例子:    某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。

星际怪物

基本上就是,在函数式语言中,比如js,python等,函数就是对象,可以把函数A当作一个参数传递给其它函数B,B中就可以调用A.java里的话不能这么干,只能把类实例A作为参数传给函数B,B完成某项工作后,可以调用A的某个方法返回结果或者什么给A。一般是多线程场合。大概就是这么个意思
随时随地看视频慕课网APP

相关分类

Java
我要回答