結論:
java中靜態屬性和靜態方法可以被繼承,但是沒有被重寫(overwrite),而是被隱藏。
原因分析:
1、靜態方法和屬性是屬於類別的,呼叫的時候可以直接透過類別名稱.方法名稱完成,不需要繼承機製便可以呼叫。
如果子類別裡面定義了靜態方法和屬性,那麼這時候父類別的靜態方法或屬性稱之為"隱藏"。如果你想要呼叫父類別的靜態方法和屬性,直接透過父類別名稱.方法或變數名稱完成,至於是否繼承一說,子類別是有繼承靜態方法和屬性,但是跟實例方法和屬性不太一樣,存在"隱藏"的這種情況。
(線上學習影片教學分享:java影片教學)
2、多態之所以能夠實現依賴繼承、介面與重寫、重載(繼承和重寫最為關鍵)。有了繼承和重寫就可以實現父類別的引用指向不同子類別的物件。
重寫的功能是:"重寫"後子類別的優先權要高於父類別的優先級,但是「隱藏」是沒有這個優先權之分的。
3、靜態屬性、靜態方法和非靜態的屬性都可以被繼承和隱藏而不能被重寫,因此不能實現多態,不能實作父類別的參考可以指向不同子類別的物件。非靜態方法可以被繼承和重寫,因此可以實現多態。
相關文章教學推薦:java入門教學
#以上是java中的靜態屬性與靜態方法可以被繼承麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!