java繼承和實(shí)現(xiàn)是java中的重要知識(shí)點(diǎn),我們?cè)趯W(xué)習(xí)的時(shí)候,需要了解它們的含義以及使用方法,那java繼承和實(shí)現(xiàn)的區(qū)別是什么?下面來(lái)我們就來(lái)給大家講解一下java繼承和實(shí)現(xiàn)的區(qū)別。
繼承:如果多個(gè)類的某個(gè)部分的功能相同,那么可以抽象出一個(gè)類出來(lái),把他們的相同部分都放到父類里,讓他們都繼承這個(gè)類。
實(shí)現(xiàn):如果多個(gè)類處理的目標(biāo)是一樣的,但是處理的方法方式不同,那么就定義一個(gè)接口,也就是一個(gè)標(biāo)準(zhǔn),讓他們的實(shí)現(xiàn)這個(gè)接口,各自實(shí)現(xiàn)自己具體的處理方法來(lái)處理那個(gè)目標(biāo)。
兩者區(qū)別:
1、修飾不同
不同的修飾符修飾;實(shí)現(xiàn):implements,繼承:extends;
2、數(shù)量不同
Java只支持“接口”的多繼承,不支持“類“”的多繼承;而繼承在java中具有單根性,子類只能繼承一個(gè)父類。
總結(jié)為:?jiǎn)卫^承,多實(shí)現(xiàn)。
3、屬性不同
在接口中只能定義全局常量(static final),和無(wú)實(shí)現(xiàn)的方法;而在繼承中可以定義屬性方法,變量,常量等。
4、調(diào)用不同
某個(gè)接口被類實(shí)現(xiàn)時(shí),在類中一定要實(shí)現(xiàn)接口中的抽象方法;而繼承想調(diào)用那個(gè)方法就調(diào)用那個(gè)方法。
總結(jié):
接口是:對(duì)功能的描述(方法/行為),接口傳達(dá)的意思是:擁有某種功能,能干嘛,比如:Serializable代表可序列化的。
繼承是:什么是一種什么,繼承傳達(dá)的意思是:is-a,比如:貓 是一個(gè) 動(dòng)物,貓就是動(dòng)物的子類。
java繼承格式是怎樣的?
class父類 {} class子類 extends父類 {}
Java繼承特點(diǎn):
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)多重繼承,并且java繼承也提高了類之間的耦合性。最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“java繼承和實(shí)現(xiàn)的區(qū)別是什么?java繼承格式是怎樣的?”已幫助 65 人
免責(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)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579