1

所以,我的主类private Secondary secondary = new Secondary();在运行时会调用。在 Secondary 类中,顶部的代码显示private Main main = new Main();.

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

注意:它们不在构造函数中

4

2 回答 2

2

您的 Main 类正在创建一个 Secondary 实例,该实例正在创建一个 Main 实例......,这会导致堆栈溢出错误。

我认为您只是希望对象相互引用,因此不要在构造函数中创建其他类的新实例。将引用声明为实例变量,并使用 setter 方法存储对其他类型对象的现有引用。

于 2012-11-02T22:47:55.217 回答
0

您可以使用构建器模式来处理实例字段的安全(非递归)初始化(通过设置器)。

于 2012-11-02T23:29:04.747 回答