java繼承是面向?qū)ο蟮淖铒@著的一個(gè)特征,它和多態(tài)都是Java中重要知識(shí)點(diǎn),因此我們作為程序員一定要了解它們之間的聯(lián)系,這樣才能正確使用,那么下面我們就給大家講解一下。
繼承,子類繼承父類中所以的屬性和方法,但是對(duì)于private的屬相和方法,由于這個(gè)是父類的隱私,所以子類雖然是繼承了,但是沒(méi)有可以訪問(wèn)這些屬性和方法的引用,所以相當(dāng)于沒(méi)有繼承到。很多時(shí)候,可以理解為,沒(méi)有繼承。
多態(tài):就是父類引用可以持有子類對(duì)象。這時(shí)候只能調(diào)用父類中的方法,而子類中特有方法是無(wú)法訪問(wèn)的,因?yàn)檫@個(gè)時(shí)候(編譯時(shí)、你把他看作父類對(duì)象的原因,但是到了運(yùn)行的時(shí)候,編譯器就會(huì)發(fā)現(xiàn)這個(gè)父類引用中原來(lái)是一個(gè)子類的對(duì)像,所以如果父類和子類中有相同的方法時(shí),調(diào)用的會(huì)是子類中的方法,而不是父類的。
在Java中也可以這么說(shuō):編譯時(shí)看父類,運(yùn)行時(shí)看子類。
java繼承有什么優(yōu)勢(shì)?
1、繼承關(guān)系是傳遞的。若類C繼承類B,類B繼承類A(多層繼承、,則類C既有從類B那里繼承下來(lái)的屬性與方法,也有從類A那里繼承下來(lái)的屬性與方法,還可以有自己新定義的屬性和方法。繼承來(lái)的屬性和方法盡管是隱式的,但仍是類C的屬性和方法。繼承是在一些比較一般的類的基礎(chǔ)上構(gòu)造、建立和擴(kuò)充新類的最有效的手段。
2、繼承簡(jiǎn)化了人們對(duì)事物的認(rèn)識(shí)和描述,能清晰體現(xiàn)相關(guān)類間的層次結(jié)構(gòu)關(guān)系。
3、繼承提供了軟件復(fù)用功能。若類B繼承類A,那么建立類B時(shí)只需要再描述與基類(類A)不同的少量特征(數(shù)據(jù)成員和成員方法)即可。這種做法能減小代碼和數(shù)據(jù)的冗余度,大大增加程序的重用性。
4、繼承通過(guò)增強(qiáng)一致性來(lái)減少模塊間的接口和界面,大大增加了程序的易維護(hù)性。
5、提供多重繼承機(jī)制。從理論上說(shuō),一個(gè)類可以是多個(gè)一般類的特殊類,它可以從多個(gè)一般類中繼承屬性與方法,這便是多重繼承。Java出于安全性和可靠性的考慮,僅支持單重繼承,而通過(guò)使用接口機(jī)制來(lái)實(shí)現(xiàn)多重繼承。
繼承就是子類繼承父類的特征和行為,繼承關(guān)系是傳遞的,有了繼承能清晰體現(xiàn)相關(guān)類間的層次結(jié)構(gòu)關(guān)系,方便大家更好的開(kāi)發(fā)。最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“java中繼承和多態(tài)之間有何聯(lián)系?java繼承有什么優(yōu)勢(shì)?”已幫助 75 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579