您好,登錄后才能下訂單哦!
java中靜態屬性和靜態方法可以被繼承,但是沒有被重寫(overwrite),而是被隱藏。
原因分析:
1、靜態方法和屬性是屬于類的,調用的時候可以直接通過類名.方法名完成,不需要繼承機制便可以調用。
如果子類里面定義了靜態方法和屬性,那么這時候父類的靜態方法或屬性稱之為"隱藏"。如果你想要調用父類的靜態方法和屬性,直接通過父類名.方法或變量名完成,至于是否繼承一說,子類是有繼承靜態方法和屬性,但是跟實例方法和屬性不太一樣,存在"隱藏"的這種情況。
2、多態之所以能夠實現依賴于繼承、接口和重寫、重載(繼承和重寫最為關鍵)。有了繼承和重寫就可以實現父類的引用指向不同子類的對象。
重寫的功能是:"重寫"后子類的優先級要高于父類的優先級,但是“隱藏”是沒有這個優先級之分的。
3、靜態屬性、靜態方法和非靜態的屬性都可以被繼承和隱藏而不能被重寫,因此不能實現多態,不能實現父類的引用可以指向不同子類的對象。非靜態方法可以被繼承和重寫,因此可以實現多態。
以上就是java中的靜態屬性與靜態方法可以被繼承么的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。