Flyingis

          Talking and thinking freely !
          Flying in the world of GIS !
          隨筆 - 156, 文章 - 16, 評論 - 589, 引用 - 0
          數據加載中……

          Java接口特性學習

          作者:Flyingis

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

           

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

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

          2.        接口中可以包含字段,但是會被隱式的聲明為staticfinal

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

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

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

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

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

           

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

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

          2.        如果知道某個類應該是基類,那么第一個選擇的應該是讓它成為一個接口,只有在必須要有方法定義和成員變量的時候,才應該選擇抽象類。因為抽象類中允許存在一個或多個被具體實現的方法,只要方法沒有被全部實現該類就仍是抽象類。

           

          以上就是接口的基本特性和應用的領域,但是接口絕不僅僅如此,在Java語法結構中,接口可以被嵌套,既可以被某個類嵌套,也可以被接口嵌套。這在實際開發中可能應用的不多,但也是它的特性之一。需要注意的是,在實現某個接口時,并不需要實現嵌套在其內部的任何接口,而且,private接口不能在定義它的類之外被實現。

           

          posted on 2005-11-02 21:18 Flyingis 閱讀(5079) 評論(0)  編輯  收藏 所屬分類: JavaSE

          主站蜘蛛池模板: 仙居县| 安溪县| 雷波县| 酉阳| 周至县| 会泽县| 萍乡市| 普定县| 元氏县| 福州市| 南雄市| 精河县| 太谷县| 通河县| 孝义市| 土默特左旗| 铁岭市| 肇东市| 大丰市| 通州区| 元氏县| 正安县| 无棣县| 阿城市| 曲水县| 宁陵县| 海阳市| 定边县| 什邡市| 涿州市| 古蔺县| 稷山县| 宣城市| 九寨沟县| 姜堰市| 潜江市| 西宁市| 四平市| 胶南市| 政和县| 阳谷县|