我有三个班,塔,地穴和游戏。
Game类是抽象的。
public abstract class Game {
public Game(){
}
Tower类和Crypt类都扩展了Game,如下所示:
public class Tower extends Game {
public Tower(){
super();
}
现在,如果我有一个变量“g”,它是Game类的一个实例,我怎么知道“g”是否也是Tower。如何判断游戏“g”是否为Tower,而不是Crypt。换句话说,我怎样才能将“g”与塔或地穴区分开来。
public void startInstanceControl(Game g){
if(g instanceof Tower){
//do X
}
}
我认为instanceof关键字可以正常工作,但是我得到了错误:
不兼容的条件操作数类型实例和塔