A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhqw_heima 中级黑马   /  2015-3-15 15:39  /  1561 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zhqw_heima 于 2015-3-15 15:40 编辑

当一个子类重载了父类的某个方法后,将子类的对象赋值给父类的对象,为什么不报错!

11 个回复

倒序浏览
贴段代码出来呗,这么说不好解释
回复 使用道具 举报
这不是变成了父类对象指向了子类对象吗。这是多态吧
回复 使用道具 举报
如果子类没有从写父类的方法,    则此时的对象调用继承父类的方法;否则,此时的对象调用子类方法.#在这里快速回复
回复 使用道具 举报
有代码好看点。。。。
回复 使用道具 举报
那是因为父类中有和子类相同的方法自己类中有又怎么会报错呢?
向上转型嘛!
回复 使用道具 举报
重载:类内部多态,指的是一个类中有两个参数列表不同的同名方法。
重写:继承下多态,指的是子类复写了父类的方法,此时什么都相同,只是功能变为子类特有的,可以从新定义。
你说的这种情况应该是重写。多态的前提就是继承,所以父类引用指向子类对象。不会报错!!!
回复 使用道具 举报
这是多态的表现 ,子类继承了父类 然后重载了方法,最后子类向上转型成父类,没有错误
回复 使用道具 举报
Shey 中级黑马 2015-3-15 18:05:08
9#
当然不会报错,不过,你要是继续调用重载方法就错啦
回复 使用道具 举报
这就涉及到了多态的知识。建议去看一下。讲子类对象赋给父类对象之后,你所能用的方法只能是父类之中的方法。
回复 使用道具 举报
感觉楼主说的是多态,最好代码的出来!!
回复 使用道具 举报
小十 发表于 2015-3-15 15:59
那是因为父类中有和子类相同的方法自己类中有又怎么会报错呢?
向上转型嘛! ...

学习了!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马