Java接口特性

在Java中看到接口,第一個想到的可能就是C++中的多重繼承和Java中的另外一個關鍵字abstract。從另外一個角度實現多重繼承是接口的功能之一,接口的存在可以使Java 中的對象可以向上轉型爲多個基類型,並且和抽象類一樣可以防止他人創建該類的對象,因爲接口不允許創建對象。
  

inte***ce 關鍵字用來聲明一個接口,它可以產生一個完全抽象的類,並且不提供任何具體實現。 inte***ce 的特性整理如下:

1.        接口中的方法可以有參數列表和返回類型,但不能有任何方法體。

2.        接口中可以包含字段,但是會被隱式的聲明爲 static 和 final 。

3.        接口中的字段只是被存儲在該接口的靜態存儲區域內,而不屬於該接口。

4.        接口中的方法可以被聲明爲 public 或不聲明,但結果都會按照 public 類型處理。

5.        當實現一個接口時,需要將被定義的方法聲明爲 public 類型的,否則爲默認訪問類型, Java 編譯器不允許這種情況。

6.        如果沒有實現接口中所有方法,那麼創建的仍然是一個接口。

7.        擴展一個接口來生成新的接口應使用關鍵字 extends ,實現一個接口使用 implements 。

  

inte***ce 在某些地方和 abstract 有相似的地方,但是採用哪種方式來聲明類主要參照以下兩點:

1.        如果要創建不帶任何方法定義和成員變量的基類,那麼就應該選擇接口而不是抽象類。

2.        如果知道某個類應該是基類,那麼第一個選擇的應該是讓它成爲一個接口,只有在必須要有方法定義和成員變量的時候,才應該選擇抽象類。因爲抽象類中允許存在一個或多個被具體實現的方法,只要方法沒有被全部實現該類就仍是抽象類。
發佈了5 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章