java回調實現原理簡介如下:
首先創建一個回調對象,然後再創建一個控制器對象,將回調對象需要被調用的方法告訴控制器對象。控制器對象負責檢查某個場景是否出現或某個條件是否滿足。當此場景出現或此條件滿足時,自動調用回調對象的方法。
一讀者想借《軟件技術學習與實踐》這本書,但這本書已被其他讀者借走了。於是,讀者與圖書館管理員間發生了以下對話:
讀者:“我把我的電話號碼告訴你,等書一到就馬上通知我。”
管理員:“好的。另一讀者把書還回來後,馬上給您打電話,書我先幫您留著。”
在上述這個場景中,讀者就是“回調對象”,管理員就是“控制器對象”,讀者的電話號碼就是“回調對象的方法”。
//1、創建一個回調接口:
public interface ICallBack { void run(); }
//2、創建回調接口的實現類
class CallBackClass implements ICallBack{public void run(){ //輸出當前時間 System.out.println(System.currentTimeMillis() );}}
//3、創建控制類class Controller{
public ICallBack CallBackObject = null;// 引用回調對象 Scanner input = new Scanner(System.in); //讀取命令行輸入
public Controller(ICallBack obj) { this.CallBackObject = obj; }
public void Begin() {
while(input.next() != null)//判斷是否有輸入 { CallBackObject.run(); }
}}
//運行程序:
class Program{
static void Main(string[] args) {
//創建控制器對象,將提供給它的回調對象傳入 Controller obj = new Controller(new CallBackClass()); //啟動控制器對象運行
obj.Begin(); }}