1. 程式人生 > >java中靜態方法不能被重寫(覆蓋)

java中靜態方法不能被重寫(覆蓋)

靜態方法可以被繼承,但是,不能被覆蓋,即重寫。如果父類中定義的靜態方法在子類中被重新定義,那麼在父類中定義的靜態方法將被隱藏。可以使用語法:父類名.靜態方法呼叫隱藏的靜態方法。
如果父類中含有一個靜態方法,且在子類中也含有一個返回型別、方法名、引數列表均與之相同的靜態方法,那麼該子類實際上只是將父類中的該同名方法進行了隱藏,而非重寫。換句話說,父類和子類中含有的其實是兩個沒有關係的方法,它們的行為也並不具有多型性
因此,通過一個指向子類物件的父類引用變數來呼叫父子同名的靜態方法時,只會呼叫父類的靜態方法

參考文件