我需要为学校写一个基于文字的小游戏,其中包括Player类和Computer类。在Game类中,我需要区分这两个类,以便只在玩家不是计算机时打印指令。
public class Player {
private String name;
public Player(String name) {
this.name = name;
}
}
public class Computer extends Player {
public Computer(String name) {
super(name);
}
}
我尝试了以下方法:
player1 = new Player;
if(player1.getClass() != Computer.class) {
System.out.println("Your turn, player 1.");
}
这应该会打印“轮到你了,玩家1。”,因为玩家不是计算机,对吗?但事实并非如此,我不知道该怎么做。
我已经尝试了instanceof,但它总是返回true,因为计算机是player的一个实例。
非常感谢您的帮助!
~ Daan
Player
实例,检查其getClass()
的条件不可能评估为false
。 - Marko Topolnik