问题描述
|
这是我的代码:
for (DrawableEntity entity : drawableEntityList) {
if (entity instanceof Beam) {
(Beam) entity.age += timeElapsed;
}
else if (entity instanceof Block) {
}
}
基本上,drawableEntityList
是DrawableEntitys
中的Vector
,我想遍历Vector
中的所有内容。然后根据它们是子类Beam
还是子类Block
,我想做些不同的事情。
问题是我正在尝试更改仅子类具有的变量,我认为我可以使用(Beam)进行转换,但是它不起作用。
不能将父类转换为子类吗?
解决方法
您的转换语法不正确。
尝试这个
if (entity instanceof Beam) {
((Beam) entity).age += timeElapsed;
}
else if (entity instanceof Block) {
}
,注意:注意“ 8”运算符
http://www.javapractices.com/topic/TopicAction.do?Id=31