在寫JAVA繼承時(shí),經(jīng)常會(huì)在方法重寫時(shí)出現(xiàn)錯(cuò)誤。如圖:
在這個(gè)例子中,`Parent` 類有一個(gè) `printMessage()` 方法,而 `Child` 類繼承自 `Parent` 并重寫了這個(gè)方法。在 `Main` 類中,通過(guò) `Parent` 類的引用指向 `Child` 類的對(duì)象。預(yù)期輸出的是 `Child` 類中重寫的 `printMessage()` 方法的內(nèi)容,但實(shí)際輸出的結(jié)果卻是’Child’。
為了確保調(diào)用正確的方法,可以使用關(guān)鍵字 `@Override` 來(lái)標(biāo)記重寫的方法。這樣,如果由于參數(shù)錯(cuò)誤等問(wèn)題導(dǎo)致無(wú)法成功重寫父類的方法,編譯器將會(huì)報(bào)錯(cuò)。
修正后的代碼如下: