Java:內部介面

來源:互聯網
上載者:User

標籤: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:內部介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.