遵循的規(guī)則:
【1】訪問(wèn)修飾符的限制一定要不小于被重寫(xiě)方法的訪問(wèn)修飾符
??比如:Object類有個(gè)toString()方法卸亮,開(kāi)始重寫(xiě)這個(gè)方法的時(shí)候我們總?cè)菀淄汸ublic修飾符共缕,出錯(cuò)的原因就是:沒(méi)有加任何訪問(wèn)修飾符的方法具有包訪問(wèn)權(quán)限,Default訪問(wèn)權(quán)限小于Public訪問(wèn)權(quán)限益涧,所以編譯器出錯(cuò)积蜻。
【2】參數(shù)列表必須與被重寫(xiě)方法的相同。
【3】重寫(xiě)的方法的返回值必須和被重寫(xiě)的方法的返回一致或者兼容曙咽;
【4】重寫(xiě)的方法所拋出的異常必須和被重寫(xiě)方法的所拋出的異常一致,或者是其子類溪北;
【5】被重寫(xiě)的方法不能為private桐绒,子類再寫(xiě)一個(gè)同名的方法并不是對(duì)父類方法進(jìn)行重寫(xiě)(Override),而是重新生成一個(gè)新的方法之拨;
【6】靜態(tài)方法不能被重寫(xiě)茉继。
??【注】:方法是靜態(tài)的、他的行為就不具有多態(tài)性蚀乔。靜態(tài)方法是與類烁竭、而非單個(gè)對(duì)象相關(guān)聯(lián)的。重寫(xiě)依賴于類的實(shí)例吉挣,而靜態(tài)方法和類實(shí)例并沒(méi)有什么關(guān)系派撕;而且靜態(tài)方法在編譯時(shí)就已經(jīng)確定婉弹,而方法重寫(xiě)是在運(yùn)行時(shí)確定的(動(dòng)態(tài)綁定)。
??1)父類的靜態(tài)方法不能被子類覆蓋為非靜態(tài)方法终吼。(會(huì)編譯出錯(cuò))
??2)父類的非靜態(tài)方法不能被子類覆蓋為靜態(tài)方法镀赌。
??3)構(gòu)造方法不能被重寫(xiě);因?yàn)闃?gòu)造方法時(shí)隱式的static方法际跪。其實(shí)這個(gè)問(wèn)題回答切入點(diǎn)很多商佛,首先構(gòu)造方法無(wú)返回值、方法名必須和所在類名相同姆打,這一點(diǎn)就必殺了子類無(wú)法重寫(xiě)父類構(gòu)造方法良姆。另外多態(tài)方面、重寫(xiě)是多態(tài)的一種體現(xiàn)方式幔戏、假設(shè)在子類重寫(xiě)了構(gòu)造方法是成立的玛追、那么子類何談實(shí)例成父類。另外重要得一點(diǎn)闲延、子類可以使用super();調(diào)用父類的構(gòu)造方法痊剖、且必須放在子類構(gòu)造方法內(nèi)的第一行。
【7】不能重寫(xiě)被標(biāo)識(shí)為final的方法慨代,子類中必須重寫(xiě)父類中的abstract方法 邢笙。
??因此,abstract方法不能被static修飾侍匙,