更新時(shí)間:2023年02月10日09時(shí)47分 來(lái)源:傳智教育 瀏覽次數(shù):
在Java中,類(lèi)的繼承是指在一個(gè)現(xiàn)有類(lèi)的基礎(chǔ)上產(chǎn)生一個(gè)新的類(lèi),產(chǎn)生的新類(lèi)被稱(chēng)為子類(lèi),現(xiàn)有類(lèi)被稱(chēng)為父類(lèi),子類(lèi)會(huì)自動(dòng)擁有父類(lèi)的屬性和方法。例如定義一個(gè)Animal類(lèi)作為父類(lèi),該類(lèi)擁有一個(gè)call()方法,當(dāng)子類(lèi)Cow和Sheep繼承自Animal類(lèi)時(shí),就會(huì)自動(dòng)擁有call()方法。下面通過(guò)圖例描述類(lèi)的繼承關(guān)系,如圖3-11所示。
圖3-11 Animal類(lèi)的繼承關(guān)系圖
在程序代碼中,如果想定義一個(gè)類(lèi)繼承另一個(gè)類(lèi),需要使用extends關(guān)鍵字。如果一個(gè)類(lèi)沒(méi)有使用extends關(guān)鍵字明確標(biāo)識(shí)繼承另一個(gè)類(lèi),那么這個(gè)類(lèi)就是默認(rèn)繼承Object類(lèi)。Object類(lèi)是所有類(lèi)的父類(lèi),該類(lèi)中的方法適用于其所有子類(lèi),其類(lèi)中常用的方法有toString()和hashCode()方法等。
注意:在類(lèi)的繼承中,需要注意以下幾個(gè)問(wèn)題。
(1)在Java中,類(lèi)只支持單繼承,不允許多重繼承,也就是說(shuō)一個(gè)類(lèi)只能有一個(gè)直接父類(lèi)。例如Cow類(lèi)繼承Animal類(lèi)之后,就不允許繼承其他類(lèi)。
(2)多個(gè)類(lèi)可以繼承一個(gè)父類(lèi),例如Cow和Sheep類(lèi)都可以繼承Animal類(lèi)。
(3)在Java中,多層繼承是允許的,即一個(gè)父類(lèi)可以再繼承其他的父類(lèi),例如Zebra類(lèi)繼承自Horse類(lèi),而Horse類(lèi)又可以繼承Animal類(lèi),即“子孫三代”。
年后第一波!JavaEEV13.0課程再升級(jí),這個(gè)項(xiàng)目課占比達(dá)75%!
2023-01-30新教程——Java微服務(wù)項(xiàng)目《學(xué)成在線(xiàn)》正式發(fā)布!
2023-01-29QueryRunner類(lèi)的使用方法你get到了嗎?
2023-01-29Struts2的核心配置:通過(guò)ActionContext訪(fǎng)問(wèn)
2023-01-13MySQL主從復(fù)制的原理是什么?
2023-01-122023年最新版Java入門(mén)教程,一套很哇塞的Java基礎(chǔ)課
2023-01-11北京校區(qū)