java多態(tài)問(wèn)題
父類:person
子類:Chinese
Chinese p = new Chinese();
person p2 = new Chinese();
請(qǐng)問(wèn)這兩行代碼大體意思分別是什么?
為什么不直接用Chinese p = new Chinese();,非要用person p2 = new Chinese();,調(diào)用方法時(shí)不都一樣嗎?
p.speak();和p2.speak();不管方法覆寫沒(méi)有,運(yùn)行結(jié)果不都一樣嗎?這不是多此一舉嗎?
新手表示被搞暈了,大神求解惑
2016-05-21
這個(gè)例子是為了說(shuō)明父類可以引用子類。。而且你說(shuō)的覆寫不覆寫結(jié)果都一樣就錯(cuò)了。子類繼承了父類的方法,既可以在父類方法上增加新的特性(拓展),也可以重寫父類方法。。。結(jié)果就不一樣了。