【发布时间】:2013-08-11 05:07:49
【问题描述】:
我编写了一个程序,用户可以在其中选择玩两种游戏:猪或蛇。我尝试在我的 main 方法中使用以下代码来创建合适的游戏:
if (gameType == 'p')
PigGame game = new PigGame();
else
SnakeGame game = new SnakeGame();
我的编译器指向第二行并给出错误:not a statement
我已经设法通过编写一个抽象类“Game”来解决这个问题,然后制作它的 PigGame 和 SnakeGame 子类:
Game game;
if (gameType == 'p')
game = new PigGame();
else
game = new SnakeGame();
但我不明白为什么第一个构造不起作用。 (我正准备教授一门高中编程课程,但我是 Java 和 OOP 的新手,所以我可以利用你能提供的任何见解。)
【问题讨论】:
-
您是否导入了 PigGame 和 SnakeGame 文件?另外,尽量不要将它们命名为相同的变量名……尝试使用 pigGame 或 snakeGame 作为变量名……
-
看看下面的内容,对java中块作用域的概念有更深入的理解:books.google.com/… 特别注意图中指示变量“出”的地方范围外”。希望对您有所帮助。