結(jié)論:
java中靜態(tài)屬性和靜態(tài)方法可以被繼承,但是沒(méi)有被重寫(xiě)(overwrite),而是被隱藏。
原因分析:
1、靜態(tài)方法和屬性是屬于類(lèi)的,調(diào)用的時(shí)候可以直接通過(guò)類(lèi)名.方法名完成,不需要繼承機(jī)制便可以調(diào)用。
如果子類(lèi)里面定義了靜態(tài)方法和屬性,那么這時(shí)候父類(lèi)的靜態(tài)方法或?qū)傩苑Q之為"隱藏"。如果你想要調(diào)用父類(lèi)的靜態(tài)方法和屬性,直接通過(guò)父類(lèi)名.方法或變量名完成,至于是否繼承一說(shuō),子類(lèi)是有繼承靜態(tài)方法和屬性,但是跟實(shí)例方法和屬性不太一樣,存在"隱藏"的這種情況。
(在線學(xué)習(xí)視頻教程分享:java視頻教程)
2、多態(tài)之所以能夠?qū)崿F(xiàn)依賴于繼承、接口和重寫(xiě)、重載(繼承和重寫(xiě)最為關(guān)鍵)。有了繼承和重寫(xiě)就可以實(shí)現(xiàn)父類(lèi)的引用指向不同子類(lèi)的對(duì)象。
重寫(xiě)的功能是:"重寫(xiě)"后子類(lèi)的優(yōu)先級(jí)要高于父類(lèi)的優(yōu)先級(jí),但是“隱藏”是沒(méi)有這個(gè)優(yōu)先級(jí)之分的。
3、靜態(tài)屬性、靜態(tài)方法和非靜態(tài)的屬性都可以被繼承和隱藏而不能被重寫(xiě),因此不能實(shí)現(xiàn)多態(tài),不能實(shí)現(xiàn)父類(lèi)的引用可以指向不同子類(lèi)的對(duì)象。非靜態(tài)方法可以被繼承和重寫(xiě),因此可以實(shí)現(xiàn)多態(tài)。
相關(guān)文章教程推薦:java入門(mén)教程