2016-08-27 4 views
-1

私はJava:クラスをサブクラスにキャストする方法は?

public abstract class AllTilesCls extends GameObjectsCls 

... GameObjectsClsという抽象クラスとAllTilesClsと呼ばれるサブクラスを持っている...しかし、何らかの理由で、私が取得するためにサブクラスにスーパークラスの参照をキャストすることはできませんそのサブクラスのフィールド値はpublic Booleanですか?

if((AllTilesCls)(handler.getObjectPlacement().getSelectedObject()).built){ 
    ... 
} 

これはどのように修正できますか?

+1

'(((AllTilesCls)(handler.getObjectPlacement()。getSelectedObject()))。ビルド())' –

+0

[この演算子優先順位表]に従います(http://www.cs.bilkent.edu)。 tr /〜guvenir/courses/CS101/op_precedence.html)、メンバー選択用のドットは、型キャストよりも優先順位が高い。だから、あなたが呼び出したいオブジェクトではなく、 'built()'メソッドの結果をキャストしようとしていました。 @DavidPérezCabreraのコメントに追加されたカッコがそれを補う。次回は、あなたが得るエラーメッセージを引用してください。それはあなたを助けるのがずっと簡単です。 –

答えて

0
if(((AllTilesCls)(handler.getObjectPlacement().getSelectedOb‌​ject())).built()) 

- デビッド・ペレスカブレラ5分前

これは働いていました。

関連する問題