概念
繼承就是子類繼承父類的特征和行為,使得子類對象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。
特性:1.子類擁有父類非private的屬性和方法。
? ? ? ? ? ?2.子類可以擁有自己屬性和方法,即子類可以對父類進(jìn)行擴(kuò)展。
? ? ? ? ? ?3.子類可以用自己的方式實(shí)現(xiàn)父類的方法。
好處:復(fù)用、易維護(hù)
缺陷:1.父類變,子類就必須變
? ? ? ? ? ?2.繼承破壞了封裝,對于父類而言,它的實(shí)現(xiàn)細(xì)節(jié)對與子類來說都是透明的。
? ? ? ? ? ?3.繼承是一種強(qiáng)耦合關(guān)系。
構(gòu)造方法
子類不能繼承父類的構(gòu)造器,但能通過super調(diào)用 (子類創(chuàng)建都會走父類的構(gòu)造器,要么顯示調(diào)用,要么系統(tǒng)自動調(diào)用)
1.如果父類有無參構(gòu)造,若未使用super關(guān)鍵字,系統(tǒng)會自動調(diào)用父類的無參構(gòu)造
2.如果父類只有帶參構(gòu)造,則必須在子類構(gòu)造器中用過super顯示調(diào)用與之匹配參數(shù)列表的父類構(gòu)造方法 (super必須在第一句)
? (若一個類存在有參構(gòu)造,系統(tǒng)不再提供默認(rèn)無參構(gòu)造,只能顯示寫個無參構(gòu)造)
關(guān)鍵字
extends:在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以 extends 只能繼承一個類。
super:super關(guān)鍵字用來實(shí)現(xiàn)對父類成員的訪問,用來引用當(dāng)前對象的父類。
this:指向自己的引用。
final: ?聲明類 —— 類不能被繼承 (且該類的方法自動聲明為final)
????????????聲明方法 —— 方法不能被重寫
????????????聲明變量 —— 變量不能被修改(如果是引用類型,則指地址不能變,指向的內(nèi)容可變)