-1
我正在尝试用Java编写一个Player
类,该类有两个子类:HumanPlayer
和ComputerPlayer
。我想允许用户选择与哪个玩家对战,并且一旦选择 - 创建相关对象并进行游戏。处理对象的范围
由于对象是在if语句中创建的,因此编译器不允许我在if范围之外执行任何操作。在其它情况下,我将创建类范围内的对象,但在这种情况下我不能提前知道哪些对象来创建(人/计算机)
这里是为了说明某些代码:
public class Player {
private String name;
public String getName(){
return name;
}
}
public class HumanPlayer extends Player {
public void play(){
System.out.println("Human playing");
}
}
public class ComputerPlayer extends Player {
public void play(){
System.out.println("Computer playing");
}
}
import java.util.Scanner;
public class PlayerDriver {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Please type 1 for human, 2 for computer");
int selection = in.nextInt();
if (selection==1){
HumanPlayer player = new HumanPlayer();
} else if (selection==2){
ComputerPlayer player = new ComputerPlayer();
} else {
throw new IllegalArgumentException("invalid answer");
}
Player.play(); //can't do that
}
}
完美!感谢您的快速回复 – user2314782