Java繼承淺析思考

java三大特性:

  1. 繼承
  2. 封裝
  3. 多態

    類是對對象的抽象,繼承是對某一批類的抽象,從而實現對現實世界更好的建模。

    有利於提高代碼的複用,關鍵詞是extends,只支持單繼承。
    簡單說:我繼承了你,你的就是我的,我的還是我的

    如果定義了一個類,沒有調用extends,則它的父類是java.lang.Object

  4. 在子類中可以根據需要對基類中繼承來的方法進行重寫。

  5. 重寫必須和被重寫方法具有相同方法名稱、參數列表和返回類型。
  6. 重寫方法不能使用比被重寫方法更嚴格的訪問權限。

    重寫:toString方法

    • 默認返回:包名+類名+@+哈希碼(根據對象內存位置生成,唯一不重複)
    • 可以重寫
        public String toString(){
            return getClass().getName()+"@"+Integer.toHexString(hashCode());
            //原Object類的toString方法



        public String toString(){
            return "你好!";
            }                   //重寫後的toString方法 

super是直接父類對象的引用,可以通過super來訪問父類中被子類覆蓋的方法或屬性。

注意點:

  1. super在構造方法中永遠處於第一行;
  2. 如果實現了對父類構造方法的重寫,那麼,在對子類對象的生成時,構造方法的調用順序應是先父類再子類;

順便提一下繼承與組合的關係:

  • “is-a”關係使用繼承
  • “has-a”關係使用組合
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章