在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫(Override)。方法重寫又稱方法覆蓋。
public?class?Test?{????public?static?void?main(String[]?args)?{????????????????Son.staticMethod();?//?運行結果:Father?staticMethod????}}class?Father?{????public?static?void?staticMethod()?{????????System.out.println("Father?staticMethod");????}}class?Son?extends?Father?{}public?class?Test?{????public?static?void?main(String[]?args)?{????????Father.staticMethod();?//?運行結果:Father?staticMethod????????????????Son.staticMethod();?//?運行結果:Son?staticMethod????????Father?father?=?new?Son();????????????????father.staticMethod();?//?運行結果:Father?staticMethod????}}class?Father?{????public?static?void?staticMethod()?{????????System.out.println("Father?staticMethod");????}}class?Son?extends?Father?{????public?static?void?staticMethod()?{????????System.out.println("Son?staticMethod");????}}
總結:
在Java中靜態(tài)方法可以被繼承,但是不能被覆蓋,即不能重寫。
如果子類中也含有一個返回類型、方法名、參數(shù)列表均與之相同的靜態(tài)方法,那么該子類實際上只是將父類中的該同名方法進行了隱藏,而非重寫。
父類引用指向子類對象時,只會調用父類的靜態(tài)方法。所以,它們的行為也并不具有多態(tài)性。
以上就是長沙牛耳教育java培訓機構的小編針對“Java中靜態(tài)方法能否被重寫”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。