您好,登錄后才能下訂單哦!
這篇文章主要講解了“java回調函數的方法介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java回調函數的方法介紹”吧!
在C或者C++中回調函數的定義:
程序在調用一個函數時,將自己的函數的地址作為參數傳遞給程序調用的函數時(那么這個自己的函數稱回調函數)
Java中沒有指針,不能傳遞方法的地址,一般采用接口回調實現:把實現某一接口的類創建的對象的引用賦給該接口聲明的接口變量,那么該接口變量就可以調用被類實現的接口的方法。
實現回調的原理簡介如下:
首先創建一個回調對象,然后再創建一個控制器對象,將回調對象需要被調用的方法告訴控制器對象。控制器對象負責檢查某個場景是否出現或某個條件是否滿足。當此場景出現或此條件滿足時,自動調用回調對象的方法。
可以舉個現實生活中的例子:
一讀者想借《軟件技術學習與實踐》這本書,但這本書已被其他讀者借走了。于是,讀者與圖書館管理員間發生了以下對話:
讀者:“我把我的電話號碼告訴你,等書一到就馬上通知我。”
管理員:“好的。另一讀者把書還回來后,馬上給您打電話,書我先幫您留著。”
在上述這個場景中,讀者就是“回調對象”,管理員就是“控制器對象”,讀者的電話號碼就是“回調對象的方法”。
詳細的實例如下:
1、創建一個回調接口:
1 //回調接口
2 public interface ICallBack
3 {
4 void run();
5 }
2、創建回調接口的實現類:
1 class CallBackClass implements ICallBack
2 {public void run()
3 {
4 //輸出當前時間
5 System.out.println(System.currentTimeMillis()
);
6 }
7 }
3、創建控制類
1 class Controller
2 {
3 public ICallBack
CallBackObject = null;// 引用回調對象
4 Scanner input = new Scanner(System.in); //讀取命令行輸入
5 public Controller(ICallBack
obj)
6 {
7 this.CallBackObject = obj;
8 }
9 public void Begin()
10 {
11 while(input.next() != null)//判斷是否有輸入
12 {
13 CallBackObject.run();
14 }
15 }
16 }
運行程序:
1 class Program
2 {
3 static void Main(string[]
args)
4 {
5 //創建控制器對象,將提供給它的回調對象傳入
6 Controller obj = new Controller(new CallBackClass());
7 //啟動控制器對象運行
8 obj.Begin();
9 }
10 }
在控制器類中引用了回調對象,因此就能調用回調方法,當控制器進行某些判斷之后(如:監聽鼠標單擊操作)就會自動調用回調方法!簡易流程圖如下:
感謝各位的閱讀,以上就是“java回調函數的方法介紹”的內容了,經過本文的學習后,相信大家對java回調函數的方法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。