介面和類別一樣,也是Java語言中重要的資料類型,用介面宣告的變數來稱為介面變量,那麼介面變數中可以存放什麼樣的資料呢?
首先,介面屬於引用型變量,介面變數中可以存放實作該介面的類別的實例的引用,即存放物件的參考。
例如:假設Com是一個接口,那麼就可以用Com宣告一個變數。
Comcom;
因為com變數中還沒有存放實作該介面的物件的引用,所以稱此時的com是一個空介面。
假設ImpleCom類別是實作Com介面的類,用ImpleCom創建名字為object的對象,那麼object物件不只可以呼叫ImpleCom類別中原有的方法,也可以呼叫ImpleCom類別實作的介面方法。
ImpleComobject=newImpleCom();
“接口回調”一詞的來源:
此字借用了C語言中指標回呼的術語,表示一個變數的位址在某一個時刻存放在一個指標變數中,那麼指標變數就可以間接操作該變數所存放的資料。
在Java語言中,介面回呼是指可以把實作某一介面的類別所建立的物件的引用賦值給該介面宣告的介面變量,那麼該介面變數就可以呼叫被類別實作的介面方法,實際上,當介面變數呼叫被類別實作的介面方法時,就是通知對應的物件呼叫這個方法。
注意:介面無法呼叫類別中的其他非介面方法。