java多态问题

父类:person

子类:Chinese

Chinese p = new Chinese();

person p2 = new Chinese();

请问这两行代码大体意思分别是什么?

为什么不直接用Chinese p = new Chinese();,非要用person p2 = new Chinese();,调用方法时不都一样吗?

p.speak();和p2.speak();不管方法覆写没有,运行结果不都一样吗?这不是多此一举吗?

新手表示被搞晕了,大神求解惑


玩转IT
浏览 1598回答 4
4回答

FredZeng

这个例子是为了说明父类可以引用子类。。而且你说的覆写不覆写结果都一样就错了。子类继承了父类的方法,既可以在父类方法上增加新的特性(拓展),也可以重写父类方法。。。结果就不一样了。

farrell4303280761

 用父类的引用创建一个子类的对象

qq_慕粉9382364

第二个是向上造型

SimpleDog

---里式替换原则 :创建的对象是子类,返回的数据类型是父类 可以去百度看看
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java