標籤:comm 標準庫 例子 另一個 方法 tar 成員 命名 地方
內部介面也稱為嵌套介面,即在一個介面內部定義另一個介面。舉個例子,Entry介面定義在Map介面裡面,如下代碼:
public interface Map { interface Entry{ int getKey(); } void clear();}2.為什麼要使用內部介面
如下是一些強有力的理由:
- 一種對那些在同一個地方使用的介面進行邏輯上分組;
- 封裝思想的體現;
- 嵌套介面可以增強代碼的易讀性和可維護性;
在Java標準庫中使用內部介面的一個例子是java.util.Map和Java.util.Map.Entry。這裡java.util.Map同樣被當成命名空間使用。Entry並不屬於全域範圍範圍.
3.內部類如何工作
為了弄清楚內部介面是如何工作的,我們可以拿它與內部類作比較。內部類可以被認為是一個外部類內部定義的一個常規方法。因為一個方法可以被聲明為靜態和非靜態,類似的內部類也可以被聲明為靜態和非靜態。靜態類類似於靜態方法,它只能訪問外部類的靜態成員屬性。非靜態方法可以訪問外部類的所有成員屬性。
因為介面是不能執行個體化的,內部介面只有當它是靜態才有意義。因此,預設情況下,內部介面是靜態,不能你是否手動加了static關鍵字。
4.內部介面例子
Map.java
public interface Map { interface Entry{ int getKey(); } void clear();}
MapImpl.java
public class MapImpl implements Map { class ImplEntry implements Map.Entry{ public int getKey() { return 0; } } @Override public void clear() { //clear }}本文轉自: http://www.cnblogs.com/chenpi/ 譯文連結
http://www.programcreek.com/2013/08/inner-interface-in-java/
Java:內部介面