黑马程序员技术交流社区

标题: 子类对象赋值给父类对象 [打印本页]

作者: zhqw_heima    时间: 2015-3-15 15:39
标题: 子类对象赋值给父类对象
本帖最后由 zhqw_heima 于 2015-3-15 15:40 编辑

当一个子类重载了父类的某个方法后,将子类的对象赋值给父类的对象,为什么不报错!
作者: 殷俊    时间: 2015-3-15 15:47
贴段代码出来呗,这么说不好解释
作者: 千殇一梦    时间: 2015-3-15 15:53
这不是变成了父类对象指向了子类对象吗。这是多态吧
作者: 云行水边    时间: 2015-3-15 15:57
如果子类没有从写父类的方法,    则此时的对象调用继承父类的方法;否则,此时的对象调用子类方法.#在这里快速回复
作者: DxxD    时间: 2015-3-15 15:59
有代码好看点。。。。
作者: 小十    时间: 2015-3-15 15:59
那是因为父类中有和子类相同的方法自己类中有又怎么会报错呢?
向上转型嘛!
作者: 武维京    时间: 2015-3-15 16:05
重载:类内部多态,指的是一个类中有两个参数列表不同的同名方法。
重写:继承下多态,指的是子类复写了父类的方法,此时什么都相同,只是功能变为子类特有的,可以从新定义。
你说的这种情况应该是重写。多态的前提就是继承,所以父类引用指向子类对象。不会报错!!!
作者: 胡谭龙    时间: 2015-3-15 17:42
这是多态的表现 ,子类继承了父类 然后重载了方法,最后子类向上转型成父类,没有错误
作者: Shey    时间: 2015-3-15 18:05
当然不会报错,不过,你要是继续调用重载方法就错啦
作者: huhanghao    时间: 2015-3-15 18:20
这就涉及到了多态的知识。建议去看一下。讲子类对象赋给父类对象之后,你所能用的方法只能是父类之中的方法。
作者: 董志立    时间: 2015-3-15 20:21
感觉楼主说的是多态,最好代码的出来!!
作者: 179407246    时间: 2015-3-15 20:27
小十 发表于 2015-3-15 15:59
那是因为父类中有和子类相同的方法自己类中有又怎么会报错呢?
向上转型嘛! ...

学习了!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2