Java编程程序回调函数的理解

Java编程程序回调函数的理解

  所谓回调,就是客户程序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都用到回调机制,可以访问远程服务器程序 六 和 彩开奖
 
   重新举个例子来理解回调:
 
   我遇到了一个问题,便用家里的固话打给我的同事,他说不太清楚,稍后给我回复。我说我一会要出去,你想到了之后打我手机吧。没过多久,我同事就打手机过来告诉了我答案 六 和 彩 资料
 
   下面是代码:
 
   1、先定义一个接口,规定回答问题的条件是打我手机
 
   1. public interface CallBack {
 
   2. //通过手机回答
 
   3. void CallIphone();
 
   4. }
 
   2、调用者(我):
 
   1. public class Me {
 
   2. public void askQuestion(){
 
   3. System.out.println("拨打固话问1+1=?");
 
   4. }
 
   5. }
 
   3、被调用者(同事):
 
   1. public class You {
 
   2.
 
   3. public void answer(CallBack callBack){
 
   4. //进行回调
 
   5. callBack.CallIphone();
 
   6. }
 
   7.
 
   8. public static void main(String[] args) throws InterruptedException {
 
   9. new Me()。askQuestion();
 
   10. Thread.sleep(3000);
 
   11. new You()。answer(new CallBack() {
 
   12. //实现接口,即回答问题的方式
 
   13. public void CallIphone() {
 
   14. System.out.println("拨打手机回答等于2");
 
   15. }
 
   16. });
 
   17. }
 
   18. }
 
   4、显示结果
 
   拨打固话问1+1=?
 
   拨打手机回答等于2
 
   代码很简单,理解也很肤浅,希望对大家有用。

你可能感兴趣的:(Java编程程序回调函数的理解)