黑马程序员技术交流社区
标题:
多态
[打印本页]
作者:
yin1031468524
时间:
2013-5-29 23:40
标题:
多态
本帖最后由 yin1031468524 于 2013-5-30 10:26 编辑
在java中,当父类和子类都定义了同一个属性时,在父类中是否可用父类对象调用子类的属性?
作者:
刘勇强
时间:
2013-5-29 23:45
当然不行啊
比如你定义一个Person类 只有name属性,然后你定义一个子类Student,加了一个年龄属性age.
然后 new一个Person对象 p, 你用p.age来访问子类的属性肯定不行 因为父类Person中根本没这个属性啊 子类继承父类是一种扩展.
作者:
悟佛修道
时间:
2013-5-29 23:50
不行的,多态中,成员变量无论编译还是运行都是看左边,也就是你创建什么对象就只能调用自己的成员变量。
作者:
First
时间:
2013-5-29 23:56
如果你创建的是一个父类的对象,那是 不能 调用子类的属性的,因为在父类对象中压根就没有子类的东西。
但是如果你创建的是一个子类的对象,那么在这个对象中会先初始化它的父类的对象,所以子类中是可以调用父类的属性的。
作者:
小石头39910
时间:
2013-5-30 07:42
多态是对父类的一种扩展,只能是父类引用调用子类对象,子类的属性是子类特有的,父类不具备这些属性,怎么会调用子类的属性呢。
作者:
归☆夜↑『
时间:
2013-5-30 09:13
多态的三个基本条件:有继承、有方法重写、有父类引用指向子类对象。所以多态只体现在方法调用中,对象的属性不具备多态性。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2