gpt4 book ai didi

java - 将 A 类引用传递给 B 类,并将 B 类引用传递给 A 类 Java

转载 作者:太空宇宙 更新时间:2023-11-04 09:47:20 24 4
gpt4 key购买 nike

到目前为止我见过一个类似的问题:passing reference of class to another class ,他刚刚要求将 A 类的引用传递给 B 类。

到目前为止我只通过构造函数完成了这件事。

只要我以这种简单的方式进行操作,就可以了。

...

this.classA = new ClassA(classB); //getting the null reference

this.classB = new ClassB(classA); //getting the reference from new ClassA

...

classB 将包含 null,因为它是在 classA 之后创建的,表示 null 引用已经存在。

在 A 类中创建后是否有另一种方法来访问引用?

新ClassB的引用号?

代码示例会很棒,因为现在我不理解迄今为止通过创建多个构造函数所听到的“解决方案”......我什至不确定它们是否有效。

编辑:这就是我的结构

enter image description here

DestinationContentPanel-->DestinationMainPanel-->DestinationHealthMainPanel-->MainPanel<--BottomBarMainPanel<--LeftPanel

最佳答案

这听起来像是您想要避免的设计。但是,如果您必须这样做,我建议创建一个包含对两个对象的引用的类并将其传递给 classA 和 classB:

class RefHolder {
ClassA a;
ClassB b;
}

然后使用它:

RefHolder r = new RefHolder();
r.a = new ClassA(r);
r.b = new ClassB(r);
//at this point, both classes can use the RefHolder that was passed
//to the constructors to access instances of ClassA and ClassB

但这只是一种解决方法,我建议不要使用这种类型的循环依赖。

关于java - 将 A 类引用传递给 B 类,并将 B 类引用传递给 A 类 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55258688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com