什么是繼承:
通俗易懂就好像是你繼承你了爸的財(cái)產(chǎn),其中你是子類,你爸是父類繼承在Java中被稱為面向?qū)ο蟮娜蟮奶卣?,其中他表示的是,從已有的類中派生出新的類,新的類擁有了父類中屬性和方法(private修飾符修飾的屬性和方法子類無法通過繼承使用)
繼承的關(guān)鍵字extends
繼承在Java中顯示的格式:
class A extends B{}
這樣稱為A是B的子類,B是A的父類,當(dāng)然除了叫子類父類還有其他的叫法,只不過我習(xí)慣于叫子類和父類
A:子類,派生類
B:父類,超類,基類
繼承的優(yōu)點(diǎn)
1.減少了代碼的冗余,提高了代碼的復(fù)用性
2.便于功能的拓展(把子類需要的功能,在父類中聲明,然后子類在繼承其父類)
3.為多態(tài)性的使用,提供了前提
繼承的缺點(diǎn)
1.子類與父類之間緊密耦合,子類依賴于父類的實(shí)現(xiàn),子類缺乏獨(dú)立性。
2.不支持動(dòng)態(tài)繼承。在運(yùn)行時(shí),子類無法選擇不同的父類
3.父類功能的改變對(duì)子類也會(huì)造成影響。
繼承其他事項(xiàng)
1.Java中是不支持類的多繼承的比如:(特別注意這里指的是類,接口是可以實(shí)現(xiàn)多繼承)
class A extends B,C{} 這里我就沒有創(chuàng)建A,B,C這三個(gè)類了,其他類代替也一樣,主要是體現(xiàn)出類無法實(shí)現(xiàn)類之間的多繼承,提示錯(cuò)誤為:類無法拓展多個(gè)類
3.所有的類(除了java.long.Objcet類)都直接或者間接的繼承了java.long.Objcet類
4.所有的類都能使用其Objcet類中聲明的方法和屬性。
5.如果父類的屬性和方法使用了private修飾之后,子類是無法直接獲取了,這里指的是無法直接獲取,因?yàn)槭褂胮rivate修飾之后,體現(xiàn)了該屬性的封裝性。需要獲取的話,可以提供該屬性的get,set方法,父類中的方法如果用private修飾之后可以在公共(public修飾)的方法中調(diào)用私有的方法(private),然后在到子類中調(diào)用該公共的方法,所以還是可以獲取得。
實(shí)現(xiàn)多“繼承”的二種方法
1.class A extends B{ } class B extends C 那么我們稱B是A的直接父類,C是A的間接父類。
2.使用接口(implements )實(shí)現(xiàn)多繼承 class A implements B,C (注意其中的B和C不是類是接口訪問修飾符后面用interface修飾不是class修飾) 如下
以上就是我對(duì)繼承的理解,如果有大佬看到這篇文章的不足之處希望大佬加以補(bǔ)充。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)