Java把孩子投给父母?

问题描述:

这里是我的代码:Java把孩子投给父母?

for (DrawableEntity entity : drawableEntityList) { 
    if (entity instanceof Beam) { 
     (Beam) entity.age += timeElapsed; 
    } 
    else if (entity instanceof Block) { 

    } 
} 

基本上drawableEntityListDrawableEntitys一个Vector,我想通过在Vector一切迭代。然后根据它们是否是子类Beam或子类Block我想做一些不同的事情。

问题是,我试图改变只有子类的变量,我想我可以用(梁)投射,但它不起作用。

是不可能将父类转换为子类?

+1

只是猜测:'((梁)实体)。年龄+ = timeElapsed;' – 2011-05-26 03:39:31

+0

啊就是这样,谢谢您! – 2011-05-26 03:41:35

你的铸造语法不对。

试试这个

if (entity instanceof Beam) { 
    ((Beam) entity).age += timeElapsed; 
} 
else if (entity instanceof Block) { 

} 
+0

谢谢,这个伎俩! – 2011-05-26 03:41:48

+0

+1。我想我的猜测是对的。希望我已经回答。 – 2011-05-26 03:41:49

注意:谨防instanceof运营商的

http://www.javapractices.com/topic/TopicAction.do?Id=31