熟悉 MS
Java 的接口支持提供了一種獲得回調的等價功能的機制
例如
public interface InterestingEvent
{
// 這僅是一個常規方法
// 它可有返回值
public void interestingEvent ();
}
這使得我們可以控制實現該接口的類的任何對象
發出事件信號的類必須等待實現了 InterestingEvent 接口的對象
public class EventNotifier
{
private InterestingEvent ie;
private boolean somethingHappened;
public EventNotifier (InterestingEvent event)
{
// 保存事件對象以備後用
ie = event;
// 還沒有要報告的事件
somethingHappened = false;
}
//
public void doWork ()
{
// 檢查在別處設置的謂詞
if (somethingHappened)
{
// 通過調用接口的這個方法發出事件信號
ie
}
//
}
//
}
在上例中
希望接收事件通知的代碼必須實現 InterestingEvent 接口
public class CallMe implements InterestingEvent
{
private EventNotifier en;
public CallMe ()
{
// 創建事件通知程序
en = new EventNotifier (this);
}
// 為事件定義實際的處理程序
public void interestingEvent ()
{
// 噢!必定發生了感興趣的事件!
// 執行某些操作
}
//
}
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19423.html