我有以下代码:

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/

10-12 03:03