2013年07月04日
来源:互联网 发布:stan smith知乎 编辑:程序博客网 时间:2024/05/16 19:46
所谓回调,就是客户程序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称为注册函数。WebService以及Java的RMI都用到回调机制,可以访问远程服务器程序。
例:
- public
class Caller - {
-
public MyCallInterface mc; -
-
public void setCallfuc(MyCallInterface mc) -
{ -
this.mc= mc; -
} -
-
public void call(){ -
this.mc.method(); -
} - }
- public
interface MyCallInterface - {
-
public void method(); -
- }
- public
class B implementsMyCallInterface - {
-
public void method() -
{ -
System.out.println("回调"); -
} -
-
public static void main(String args[]) -
{ -
Caller call = new Caller(); -
call.setCallfuc(new B()); -
call.call(); -
} - }
-
public MyCallInterface mc; -
-
public void setCallfuc(MyCallInterface mc) -
{ -
this.mc= mc; -
}
call setCallfuc(new B()),是子类向上转型为父类然后传递,是多态的表现。
List接口的实现类。等同于,MyCallInterface是接口,B是MyCallInterface的实现类。
- 2013年04月07日 工作总结
- 2013年04月07日
- 2013年07月04日
- 2013年01月07日 工作总结
- 2013年03月07日 工作总结
- 2013年07月26日
- 2013年07月25日
- 2013年08月07日日志
- 2013年07月22日
- 2013年07月23日
- 2013年07月19日
- 2013年06月07日
- 2013年07月15日
- 2013年01月07日
- 2013年07月16日
- [2012年04月07日]HE3C_GO
- 2013年01月04日 工作总结
- 2013年02月04日 工作总结
- 【多线程】的学习总结
- KMP算法
- Android SQLDatabase类中的in…
- [I18N] Hardcoded string "电话号…
- C++字典的线性表实现。
- 2013年07月04日
- 五险一金异地转移
- java注释
- 软中断不均的调优
- JAVA flush()的用法和意义
- TOMCAT新增虚拟目录&&安卓…
- android.os.NetworkOnMainThreadEx…
- Excel里多个sheet合并成一个/取消合并单元格并自动填充
- Java构造方法重载的注意事项