2011-05-26 76 views
2

這裏是我的代碼: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

回答

7

你的鑄造語法不對。

試試這個

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