Java:具有彼此实例的类

标签 java

<分区>

我觉得这是一个非常基本的问题,但我从来没有遇到过这样的情况。现在我有这样的结构:

public class Main{
    ClassA a = new ClassA();
    ClassB b = new ClassB(a);
}

ClassBMain.class 都需要我的 ClassA。现在我注意到 ClassA 也必须知道 ClassB

public class Main{
    ClassA a = new ClassA(b);
    ClassB b = new ClassB(a);
}

显然行不通。首先,我想到了使用 Observer Pattern,但这对我来说似乎有点矫枉过正,而且这不是该模式通常用于的用途。
有没有办法,我可以让 Main.class 知道 ClassA.class & ClassB.class,以及让 ClassA .class 知道 ClassB.class 反之亦然?由于 Main.class 也使用 ClassA,因此我必须让同一个类只初始化一次。

最佳答案

您不需要在构造函数中设置引用。您可以创建一个 setter,您可以在创建两个对象后调用它,例如 b.setA(a);

关于Java:具有彼此实例的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33918319/

相关文章:

java - 将 List<String> 转换为 List<MyObject>,其中 MyObject 包含一个表示顺序的 int

java - 在非 spring 注入(inject)类中使用 application.properties

java - TinyMCE 从 Applet 内容插入图像

Java如何返回一个斐波那契值从1开始的数组?

java - 如何使用 Mockito 处理 "any other value"?

java - 如何在 Android 应用程序中存储用于多个 Activity 的位图

java - tomcat请求servlet

java - 在 Android 模拟器上创建 UDP 连接

java - VFS2 错误无法删除文件并且无法获取当前用户的组 ID(错误代码 : -1)

java - 选择组合框中的项目时执行操作