而不会导致堆栈溢出错误创建对象?(Create objects without causing a

2019-07-03 12:39发布

所以,我有叫我的主类private Secondary secondary = new Secondary(); 当它运行。 在辅助类,在上面我的代码,说private Main main = new Main();

我将如何能够使用所有来自次级类,反之亦然方法和变量,而不会导致堆栈溢出错误?

注:他们不是在构造函数

Answer 1:

你的主类是创建第二个实例,这是创建一个主实例......,这是导致堆栈溢出错误。

我觉得你只是想的对象引用对方,所以不要在构造函数创建其他类的新实例。 声明为实例变量的引用,并使用setter方法中已有的引用存储到其他类型的对象。



Answer 2:

您可以使用生成器模式来处理您的实例字段的安全(非递归)初始化(通过setter方法)。



文章来源: Create objects without causing a stack overflow error?