arraylist底層數(shù)據(jù)結(jié)構(gòu)是 Java中為什么靜態(tài)方法不能被重寫(xiě)?
Java中為什么靜態(tài)方法不能被重寫(xiě)?靜態(tài)方法可以繼承,但不能重寫(xiě)。如果父類(lèi)中定義的靜態(tài)方法在子類(lèi)中重新定義,則父類(lèi)中定義的靜態(tài)方法將被隱藏。可以使用語(yǔ)法:parent class name。靜態(tài)方法調(diào)
Java中為什么靜態(tài)方法不能被重寫(xiě)?
靜態(tài)方法可以繼承,但不能重寫(xiě)。如果父類(lèi)中定義的靜態(tài)方法在子類(lèi)中重新定義,則父類(lèi)中定義的靜態(tài)方法將被隱藏??梢允褂谜Z(yǔ)法:parent class name。靜態(tài)方法調(diào)用隱藏的靜態(tài)方法。如果父類(lèi)包含一個(gè)靜態(tài)方法,而子類(lèi)也包含一個(gè)具有相同返回類(lèi)型、方法名稱和參數(shù)列表的靜態(tài)方法,那么子類(lèi)實(shí)際上會(huì)在父類(lèi)中隱藏具有相同名稱的方法,而不是重寫(xiě)它。換句話說(shuō),父類(lèi)和子類(lèi)中實(shí)際上有兩個(gè)不相關(guān)的方法,它們的行為不是多態(tài)的。因此,當(dāng)使用指向子類(lèi)對(duì)象的父類(lèi)引用變量調(diào)用具有相同父子名稱的靜態(tài)方法時(shí),將只調(diào)用父類(lèi)的靜態(tài)方法。
java聲明為static的方法不能被重載?
靜態(tài)方法屬于此類(lèi),而不是對(duì)象。沒(méi)有繼承或不繼承這回事。覆蓋和重寫(xiě)也是對(duì)象的方法,而不是靜態(tài)方法。你要問(wèn)的第二個(gè)問(wèn)題是“隱藏”。方法被聲明為靜態(tài)的,靜態(tài)方法不能被重寫(xiě);它們只能被隱藏。為了避免這種混亂,永遠(yuǎn)不要隱藏靜態(tài)方法。即使在子類(lèi)的超類(lèi)中重用靜態(tài)方法的名稱,也不會(huì)給您帶來(lái)任何新的東西,但會(huì)丟失很多東西?!保↗ava拼圖)