通过命令行运行代码时出错

时间:2014-03-15 16:09:41

标签: java init

我有这段代码:

public class PlayGame
{

public static void main(String[] args)
{
    PlayGame p = new PlayGame();
    p.startup();
}


PlayGame p = new PlayGame();
GameLogic g = new GameLogic();

(格式正确)。启动类只有一些我知道正常工作的代码。它只是打印出来的东西。但是在运行时我会遇到大量错误

at PlayGame.<init>(PlayGame.java:13)

这是重复的,是我在命令行中看到的唯一内容。 我通过插入

找到了
System.exit(0)
在错误出现之前退出的行之间的

是在

PlayGame p = new PlayGame();

线。我不知道为什么会这样,所以任何帮助都非常感激。谢谢

1 个答案:

答案 0 :(得分:2)

PlayGame类有一个实例字段

PlayGame p = new PlayGame();

因此,每个PlayGame对象都会创建一个PlayGame对象,该对象会创建一个PlayGame对象,令人作呕。

你最终会因StackOverflowError而耗尽内存。

为什么在PlayGame的实例中需要PlayGame的实例?