我有这个代码:
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();
线。我不知道为什么会这样,所以非常感谢任何帮助。谢谢
最佳答案
PlayGame
类有一个实例字段
PlayGame p = new PlayGame();
因此,每个 PlayGame
对象都会创建一个 PlayGame
对象,该对象又会创建一个 PlayGame
对象,令人恶心。
您最终会耗尽内存并出现 StackOverflowError
。
为什么在 PlayGame
实例中需要一个 PlayGame
实例?
关于java - 通过命令行运行代码时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22426251/