Java 回调函数简介

一、基本介绍:

  回调函数(callback Function),顾名思义,用于回调的函数。
  回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。
  回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。
  回调函数包含下面几个特性:
    1、属于工作流的一个部分;
    2、必须按照工作流指定的调用约定来申明(定义);
    3、他的调用时机由工作流决定,回调函数的实现者不能直接调用回调函数来实现工作流的功能;

二、回调函数和观察者模式的关系
    观察者模式定义对象间的一种一对多的依赖关系。
    当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
    观察着模式是用接口回调的方法来实现的,可以说观察者模式是回调的一种应用。

三、简单例子

public interface ICallBack {
public void postExec();
}

public class FooBar {
private ICallBack callBack;

public void setCallBack(ICallBack callBack) {
this.callBack = callBack;
doSth();
}

public void doSth() {
callBack.postExec();
}
}

public class CallbackTest {
public static void main(String[] args) {
FooBar foo = new FooBar();
foo.setCallBack(new ICallBack() {
public void postExec() {
System.out.println("在Test类中实现但不能被Test的对象引用,而由FooBar对象调用");
}
});
}
}

四、更多例子:
  http://blog.csdn.net/v1v1wang/article/details/6973364
  http://www.cnblogs.com/tt_mc/archive/2011/11/09/2243699.html
  http://www.blogjava.net/siyn/archive/2008/02/17/java_callback.html

 


 

posted @ 2012-02-14 11:29  万法自然~  阅读(331)  评论(0编辑  收藏  举报