Java中用什么關(guān)鍵字實(shí)現(xiàn)類的繼承?針對這個問題,這篇文章給出了相對應(yīng)的分析和解答,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。類的繼承
子類及其定義
Java類的繼承使用extends關(guān)鍵字
class SubClass extends SuperClass{ ........ }
子類可以繼承父類的屬性和方法
子類不能繼承帶private修飾符的屬性,方法
子類不能繼承構(gòu)造方法
單繼承:
Java只支持單繼承,即只能從一個類繼承,extends關(guān)鍵字后面的類名只能一個。
優(yōu)點(diǎn):可以避免多個父類之間可能發(fā)生的沖突。
interface接口機(jī)制,允許一個類實(shí)現(xiàn)多個接口
super關(guān)鍵字
super關(guān)鍵字指向該關(guān)鍵字所在類的父類
父類引用變量可以指向子類對象
super.someNethod([paramlist])//調(diào)用父類中的someMethod()方法
子類對象的創(chuàng)建
步驟:
分配對象所需的全部內(nèi)存空間,并初始化為0值
按繼承關(guān)系,自頂向下顯式初始化
按繼承關(guān)系,自頂向下調(diào)用構(gòu)造方法
子類對象初始化的另一種表述:
基本初始化,執(zhí)行構(gòu)造方法,先執(zhí)行父類構(gòu)造方法,
執(zhí)行父類構(gòu)造方法之前,要執(zhí)行父類顯式初始化語句
方法的重寫
(1)子類中重寫方法的返回值類型必須與父類中被重寫方法的返回值類型相同
(2)子類中重寫方法的訪問權(quán)限不能縮小
(3)子類重寫不能拋出新的異常:方法的重寫是實(shí)現(xiàn)對象運(yùn)行時多態(tài)的基礎(chǔ)
多態(tài): 編譯時多態(tài)和運(yùn)行時多態(tài)。
編譯時多態(tài):比如重載
運(yùn)行時多態(tài):比如重寫
上溯造型
將一種類型對象的引用轉(zhuǎn)換成另一種類型對象引用
向下造型(強(qiáng)制類型轉(zhuǎn)換)
instanceof運(yùn)算符
aOblectVariable instanceof SomeClass
aOblectVariable 是 SomeClass類型時,該表達(dá)式的值為true,否則為false
格式
(SomeClass)aObjectVariable
(1)對象變量轉(zhuǎn)換的目標(biāo)類型,一定要是當(dāng)前對象類型的子類
(2)在運(yùn)行時刻也要進(jìn)行對象類型檢查
Object類
java中的每個類都是Object類的直接或間接子類。
equals類:比較兩個對象的值
重寫equals()方法目的:定義對象的值
Java規(guī)定:兩個值相等的對象hashCode()返回值要相等
所以重寫equals()方法,同時也要重寫hashCode()方法
“==”比較兩個對象的地址
toString()方法
返回對象的字符串表示
getClass()方法
返回對象的類信息,該方法返回一個Class類型的對象
關(guān)于Java中實(shí)現(xiàn)類的繼承的關(guān)鍵字就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。