所以,我的主类在运行时调用private Secondary secondary = new Secondary();
。在Secondary类中,我在顶部有代码private Main main = new Main();
。
如何在不引起堆栈溢出错误的情况下使用Secondary类中的所有方法和变量,反之亦然?
注意:它们不在构造函数
中答案 0 :(得分:2)
您的Main类正在创建一个辅助实例,它正在创建一个Main实例...,这会导致堆栈溢出错误。
我认为你只是想让对象互相引用,所以不要在构造函数中创建另一个类的新实例。将引用声明为实例变量,并使用setter方法存储对其他类型对象的现有引用。
答案 1 :(得分:0)
您可以使用builder pattern来处理实例字段的安全(非递归)初始化(通过setter)。