程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java入門 第二季第三章 繼承

Java入門 第二季第三章 繼承

編輯:JAVA綜合教程

Java入門 第二季第三章 繼承


3-1 Java 中的繼承   ★概念:繼承是類與類的一種關系,是一種“is a”的關系   圖:繼承關系——狗 和 動物 \   注:Java 中的繼承是單繼承,即一個類只有一個父類   ★好處子類擁有父類的所有屬性和方法但如果有private修飾,則子類不能使用該屬性或方法實現代碼復用   ★語法規則 class 子類 extends 父類 例:class Dog extends Animal{ …… }   Eclipse中,在創建類時,可以在 Superclass 中選擇父類 \   \   自動生成: \     3-2 Java 中的方法重寫   ★概念 如果子類對繼承父類的方法不滿意,是可以重寫父類繼承的方法的,當調用方法時會優先調用子類的方法。   ★語法規則 a.返回值類型 b.方法名 c.參數類型及個數 都要與父類繼承的方法相同,才叫方法的重寫   ★實例:狗 和動物   圖:父類——動物 \ 圖:子類——狗 \ 圖:測試類 \   運行結果:年齡:1狗是可以會吃東西   3-3 Java 中的繼承初始化順序   繼承的初始化順序 a.先初始化父類再初始化子類 b.先執行初始化對象中屬性,再執行構造方法中的初始化   ★ 實例一:驗證先初始化父類再初始化子類   圖:父類——動物 \ 圖:子類——狗 \ 圖:測試類——調用eat()方法 \   運行結果: \   ★ 實例二:驗證先執行 初始化對象中的屬性,再執行構造方法中的初始化   圖:父類——動物 \ 圖:測試類——調用eat()方法 \   運行結果: \   ★總結 \     3-4 Java 中的 final 的使用   使用final關鍵字做標識,有“最終的”含義,即 不可修改,不可變化   final可以修飾類、方法、屬性和變量final修飾類 ——該類不允許被繼承final修飾方法 ——該方法不允許被覆蓋(重寫)final修飾屬性 ——該類的屬性不會進行隱式的初始化(類的初始化屬性必須有值),或在構造方法中賦值(但只能選其一) 且不能在其他地方修改屬性的值。final修飾變量 ——該變量的值只能賦一次值,即變為 常量   3-5 Java 中的 super 的使用   super關鍵字:在對象的內部使用,可以代表父類對象 訪問父類的屬性 super.age 訪問父類的方法 super.eat()   子類的構造的過程中必須調用其父類的構造方法,該過程隱式地使用了 super 關鍵字 如果子類的構造方法中沒有顯示調用父類的構造方法,則系統默認調用父類無參的構造方法。 如果顯式的調用構造方法,必須在子類的構造方法的第一行。   圖:示例 —— 顯式地調用父類的構造方法 \   如果子類構造方法中既沒有顯示調用父類的構造方法,而父類又沒有無參的構造方法,則編譯出錯   圖:父類Animal(未聲明無參的構造函數) \ 圖:子類Dog(出錯) \ 圖:報錯提示 \   3-6 Java 中的 Object 類   Object類是所有類的父類,如果一個類沒有使用extends關鍵字明確標識繼承另外一個類,那麼這個類默認繼承Object類。 Object類中的方法,適合所有子類。   ★toString() 方法 ●在Object類裡面定義 toString()方法的時候,返回對象的哈希code碼(對象地址字符串——唯一標識該對象) ● 可以通過重寫 toString() 方法表示出對象的屬性   圖:三個類之間的繼承關系 \   實例一:調用系統自帶的 toString() \   運行結果: \ 注:imocc.Dog——包名 @後面——內存地址   實例二:自定義 toString() 方法   Step1:點擊Source,選擇Generate toString() \   Step2: 選擇想要輸出的屬性,點擊確定 \   圖:生成及運行效果 \   ★equals()方法 比較的是 對象的引用是否指向 同一塊內存地址 一般情況下比較兩個對象時,比較它們的值是否一致,所以要進行重寫   實例一:調用系統自帶的 .equals() \ 注: .equasl() 和 “==”默認比較的都是地址 ——運行結果均為“兩個對象不相同”   實例二:自定義 toString() 方法   Step1:點擊Source,選擇Generate hashCode() and equals() \   Step2: 選擇想要輸出的屬性,點擊確定 \   圖:生成的代碼 \   ▲圖:類對象 與 類的對象 的區別 \  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved