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