所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。(这段是网上抄的,摘自http://hi.baidu.com/f117_n/blog/item/2f52e612347cd3c8c3fd78ad.html)
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了巴中免费建站欢迎大家使用!
重新举个例子来理解回调:
我遇到了一个问题,便用家里的固话打给我的同事,他说不太清楚,稍后给我回复。我说我一会要出去,你想到了之后打我手机吧。没过多久,我同事就打手机过来告诉了我答案。
下面是代码:
1、先定义一个接口,规定回答问题的条件是打我手机
- public interface CallBack {
- //通过手机回答
- void CallIphone();
- }
2、调用者(我):
- public class Me {
- public void askQuestion(){
- System.out.println("拨打固话问1+1=?");
- }
- }
3、被调用者(同事):
- public class You {
- public void answer(CallBack callBack){
- //进行回调
- callBack.CallIphone();
- }
- public static void main(String[] args) throws InterruptedException {
- new Me().askQuestion();
- Thread.sleep(3000);
- new You().answer(new CallBack() {
- //实现接口,即回答问题的方式
- public void CallIphone() {
- System.out.println("拨打手机回答等于2");
- }
- });
- }
- }
4、显示结果
拨打固话问1+1=?
拨打手机回答等于2
代码很简单,理解也很肤浅,希望对大家有用。
文章题目:Java回调函数的理解
网站链接:http://www.gawzjz.com/qtweb2/news35/15335.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联