您的类的
JavaApplication1字段
JavaApplication1ja包含
JavaApplication1类的另一个实例,也有自己的
ja字段,包含的另一个实例
JavaApplication1,依此类推。
换句话说,当您创建
JavaApplication1该实例的实例时,将创建其内部实例,
JavaApplication1并且此内部实例将创建另一个
JavaApplication1实例,该实例再次创建实例
JavaApplication1…,直到堆栈已满。
因此,当您在main方法中运行此代码时
JavaApplication1 ja1 = new JavaApplication1();
这样的事情发生
+-----------------------------------------------+ja1 -> | JavaApplication1 instance | +-----------------------------------------------+ | | | +------------------------------------+ | | ja -> | JavaApplication1 instance | | | +------------------------------------+ | | | | | | | +-------------------------+ | | | | ja -> |JavaApplication1 instance| | | | | +-------------------------| | | | | | | | | | | | ja -> .... | | | | | +-------------------------+ | | | +------------------------------------+ | +-----------------------------------------------+
无论如何,我看不到
ja字段的使用位置,因此请考虑将其从代码中删除。



