【发布时间】:2017-01-03 22:46:16
【问题描述】:
我有一个名为 GameObjectsCls 的抽象类和一个名为 AllTilesCls 的子类...
public abstract class AllTilesCls extends GameObjectsCls
...但由于某种原因,我无法将超类的引用转换为子类以从该子类获取 public Boolean 字段值?
if((AllTilesCls)(handler.getObjectPlacement().getSelectedObject()).built){
...
}
我该如何解决这个问题?
【问题讨论】:
-
if(((AllTilesCls)(handler.getObjectPlacement().getSelectedObject())).built()) -
根据this operator precedence table,用于成员选择的点比类型转换具有更高的优先级。所以你试图转换
built()方法的结果,而不是你想要调用它的对象。 @DavidPérezCabrera 评论中添加的括号弥补了这一点。下次请引用您收到的错误信息,这样对您的帮助会容易很多。