两个类是否可以相互成为彼此的数据成员?

A类是否可能是另一个B类的一个领域,同时B类是A类的一个领域?

我有一个场景,我有两个class:比赛和场地。 如果Java允许的话,我不确定是否将Venue作为Match的数据成员或者相反,或者将它们中的每一个作为另一个的数据成员。

是的,这是可能的,但我怀疑它可以在对象构造时间内实现,这会导致循环依赖

首先创建classAclassB对象,并使用每个对象的setter分配相互引用。

是的,Java实际上支持类之间的循环依赖。 所以你所要求的是可以实现的,但正如另一个答案指出的那样,它会在施工时产生一些问题。 我的意思是一个构造函数调用另一个可能会导致溢出错误。 所以相反,你可以做类似的事情。

 Match match = new Match(); Venue venue = new Venue(); match.setVenue(venue); venue.setMatch(match); 

鉴于垃圾收集,如果匹配和地点相互引用而不是任何其他对象,则它们将处于隔离状态,即隔离岛。 他们没有资格进行垃圾收集。 我希望这有帮助。