Java问题:(List)new ArrayList()与List list = new ArrayList()等价吗?

左边是强制类型转换还是子类对父类的引用?... 左边是强制类型转换还是子类对父类的引用? 展开
 我来答
贸垒2u
2015-08-12 · TA获得超过207个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:337万
展开全部
跟你说:
new 什么的就是创建一个对象,要知道是创建一个对象,也就是说这个对象是固定的,把它当成存在的这么一个东西。那就是说强制类型转换只是把这个对象当成它父类所应有的属性和方法来调用。你可以调试看一下,Object o = new ArrayList();在调试量变那里看到o其实就是ArrayList 而现在只是能调用Object的方法或属性,也就是ArrayList的一部份方法或属性
追问
如果List中有个test方法,ArrayList重写了这个方法,那么((List)new ArrayList()).test()调用的是子类的方法还是父类的方法呢?为什么?
追答
不要去想子类父类,你就想一个对象.test();你要想的话,就告诉你是子类吧。要调父类一般都是要在ArrayList里面写super.test();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无二肆玖一
2015-08-12 · TA获得超过1046个赞
知道小有建树答主
回答量:850
采纳率:76%
帮助的人:368万
展开全部
左边是强制类型转换,右边是子类对父类的引用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式