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