我有这段代码:
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();
线。我不知道为什么会这样,所以任何帮助都非常感激。谢谢
答案 0 :(得分:2)
PlayGame
类有一个实例字段
PlayGame p = new PlayGame();
因此,每个PlayGame
对象都会创建一个PlayGame
对象,该对象会创建一个PlayGame
对象,令人作呕。
你最终会因StackOverflowError
而耗尽内存。
为什么在PlayGame
的实例中需要PlayGame
的实例?