Java_basic_8: 繼承

繼承

繼承的特點(diǎn)

  • 子類,父類
  • 單繼承(一個(gè)子類只有一個(gè)父類)
  • 父類中private 的屬性不能被繼承

繼承的好處

  • 子類擁有父類的所有屬性和方法
  • 實(shí)現(xiàn)代碼的復(fù)用

繼承的語(yǔ)法

  • class 子類 extends 父類{}
  • 關(guān)鍵字 extends
class Dog extends Animal{
//

}

繼承的初始化順序

  • 初始化superclass 再 初始化subclass
  • 先初始化對(duì)象中的屬性,再執(zhí)行構(gòu)造方法中的初始化
  • e.g. 當(dāng)我們創(chuàng)建一個(gè)子類對(duì)象時(shí),這其中的初始化順序是:
    父類對(duì)象初始化——> 父類屬性初始化——> 父類構(gòu)造方法執(zhí)行——>子類對(duì)象初始化——>子類屬性初始化——>子類構(gòu)造方法執(zhí)行

final 關(guān)鍵字

  • final 關(guān)鍵字可以修飾 類、 方法、屬性和變量
  • final 修飾 class, 則該類不能被繼承
  • final 修飾 method, 則該方法不能被覆蓋(重寫)override
  • final 修飾 parameters, 則該類的屬性不會(huì)進(jìn)行隱式的初始化(及該屬性的初始化必須有值)或者在構(gòu)造方法中賦值(兩種只能選其一)
  • final 修飾變量,則該變量只能被賦值一次,即成為一個(gè)常量

super 關(guān)鍵字

  • super 關(guān)鍵字常用在對(duì)象內(nèi)部,可以用來(lái)代表父類對(duì)象
  • 訪問(wèn)父類的屬性 e.g. super.age
  • 訪問(wèn)父類的方法 e.g. super.eat()
  • super 的應(yīng)用
    -- 子類的構(gòu)造過(guò)程中必須調(diào)用父類的構(gòu)造方法
    -- 如果子類的constructor中沒(méi)有顯式的調(diào)用父類的構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類的無(wú)參構(gòu)造方法
    -- 如果顯示的調(diào)用構(gòu)造方法,則調(diào)用語(yǔ)句必須放在子類構(gòu)造方法的第一行
    -- 如果子類的構(gòu)造方法中既沒(méi)有顯示的調(diào)用父類構(gòu)造方法,而父類中也沒(méi)有無(wú)參構(gòu)造方法,則會(huì)編譯出錯(cuò)

Object 類

  • Object 類是所有類的父類,如果一個(gè)類沒(méi)有用extends明確標(biāo)識(shí)繼承于哪個(gè)類,則它默認(rèn)繼承Object類
  • Object 類中的方法適用于所有子類

Object類中的幾個(gè)重要方法

toString() 方法

  • Object 類中的toString方法: 返回對(duì)象的哈希code碼(對(duì)象的地址字符串)
  • 可以重寫toString() 方法表示出對(duì)象的屬性
    code->generate

equals() 方法

  • 返回值是boolean型 true or false, 所以一般可以和if語(yǔ)句配合
  • 比較的是對(duì)象的引用地址是否相同(是否指向同一塊內(nèi)存地址)
  • 如果要比較兩個(gè)對(duì)象的值是否相等,則可以重寫
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,734評(píng)論 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的開(kāi)發(fā)和運(yùn)行環(huán)境,java的開(kāi)發(fā)工...
    ZaneInTheSun閱讀 2,815評(píng)論 0 11
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來(lái)...
    XLsn0w閱讀 1,428評(píng)論 0 2
  • 面向?qū)ο笾饕槍?duì)面向過(guò)程。 面向過(guò)程的基本單元是函數(shù)。 什么是對(duì)象:EVERYTHING IS OBJECT(萬(wàn)物...
    sinpi閱讀 1,220評(píng)論 0 4
  • 近期,西安警方破獲了3起拐賣兒童案,其中一個(gè)孩子與家人失散了28年,漫漫尋親路這家人經(jīng)歷的辛酸,常人無(wú)法體會(huì)。那面...
    8a6cf3272fd9閱讀 254評(píng)論 0 0

友情鏈接更多精彩內(nèi)容