同一個目標,同一個夢想

          One Target,One Dream
          posts - 25, comments - 11, trackbacks - 0, articles - 37

          java接口和抽象類的區別

          Posted on 2009-11-30 19:46 J2EE Home工作室 閱讀(496) 評論(0)  編輯  收藏 所屬分類: My Q/A

          java接口和抽象類的區別 收藏
          簡單來說, 接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的,另外,實現接口的一定要實現接口里定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法。
          一般的應用里,最頂級的是接口,然后是抽象類實現接口,最后才到具體類實現。
          還有,接口可以實現多重繼承,而一個類只能繼承一個超類,但可以通過繼承多個接口實現多重繼承,接口還有標識(里面沒有任何方法,如Remote接口)和數據共享(里面的變量全是常量)的作用.

          1.abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface.
          2.在abstract class 中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是 static final的,不過在 interface中一般不定義數據成員),所有的成員方法都是abstract的。
          3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。
          4.實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法。
          5.接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。
          6.抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。
          7.接口中的方法默認都是 public,abstract 類型的。


          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lpdb2001/archive/2008/08/04/2765595.aspx


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 驻马店市| 故城县| 天台县| 平顺县| 锦屏县| 潞西市| 紫金县| 怀安县| 烟台市| 城口县| 京山县| 新干县| 林州市| 吉安市| 湖口县| 德清县| 中西区| 荥阳市| 安新县| 贵州省| 蓬安县| 孙吴县| 从江县| 沛县| 舟曲县| 夏邑县| 乌鲁木齐市| 泗阳县| 岐山县| 固安县| 金川县| 棋牌| 肃北| 维西| 泾川县| 罗江县| 资源县| 桃源县| 通海县| 民乐县| 新绛县|