【发布时间】:2016-06-26 06:27:03
【问题描述】:
我看到很多例子说明了 JAVA 中的一对一或多对多关系。但我仍然不明白为什么会这样。
如果我有:
类 A(){B b = new B();}
类 B(){A a = new A();}
当我在main方法中新建A作为起点时,JAVA如何分配内存来处理这种情况?内存分配不是无穷无尽的吗? A 有 b,然后 b 有另一个 A 然后 go on forever
非常感谢
另一个问题:
我可以这样做吗?
类 A(){B b; public void setB(B bb){}}
类 B(){A a; public void setA(A aa){}}
非常感谢
【问题讨论】:
-
您是否尝试分配
A?我建议你这样做,我想你会找到答案的。 -
如果是一对一的关系,A 有一个 B 有相同的 A,所以没有无限的内存分配。
-
@YassinHajaj 不,不是。
-
@ElliottFrisch 稍微解释一下也无妨。
-
他们有
A和B的唯一实例(他们没有共享它们,所以这是一个无限递归关系)。