多态理解,怎么理解子类对象强制转换父类对象?不是只有子类可以赋值给父类引用吗,那么以下代码如何理解

如下代码应该如何理解:Personp=(Person)o;其中o是是Objecto。标题错了,应该是父类对象强制转换成子类对象... 如下代码应该如何理解:

Person p = (Person ) o;
其中 o 是是Object o。
标题错了,应该是父类对象强制转换成子类对象
展开
 我来答
liu_siat
2014-08-23
知道答主
回答量:10
采纳率:0%
帮助的人:3.4万
展开全部
让父类(接口)引用指向子类对象(是自动类型转换), 从而调用子类对象的方法,实现多态性
而把父类对象要赋值给子类对象,需要进行强制类型转换,跟多态性无关。
父类对象要赋值给子类对象,如果不进行强制类型转换,编译会报错。

你写出的代码就是强制类型转换,与多态性无关
追问
谢谢你的回答。

找到了一个更好的解释,在此贴给所有可能有相关困惑的网友:

"父类不能强制转换成子类~~!!!!
强制转换子类的情况 是使用父类的引用 引用了子类对象的实例 这个对象是实例的实例而不是父类的实例 这个时候才能用强制转换 否则不可以"

via 百度ID为“没有响应m2”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式