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