java - 在Java中如何初始化相互依赖的类?

标签 java class dependencies

假设我有类签名

Class1(Class2 c);
Class2(Class1 c);

如何初始化两者?

最佳答案

对于其中一个类,您不在构造函数中提供引用,但您可以使用 set 方法代替。当它们之前都不存在时,初始化它们彼此依赖似乎很困难。

class Foo {
    private Bar bar;
    public Foo(Bar bar) {
        this.bar = bar;
    }
}

class Bar {
    private Foo foo;
    setFoo(Foo foo) {
        this.foo = foo;
    }
}


Bar bar = new Bar();
Foo foo = new Foo(bar);
bar.setFoo(foo);

另请注意,可能有更好的解决方案。例如使用 Observer-pattern ,这完全取决于您计划如何使用您的对象。

关于java - 在Java中如何初始化相互依赖的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735402/

相关文章:

Java - "class"方法/字段来自哪里?

python - 记录类属性

c++ - header 包含和循环依赖

java - AChartEngine,点击获取图表值

java - 将文件作为链接而不是邮件中的附件发送

java - 这应该是同步方法吗?

java - PHP shell_exec() 不会执行 screen 命令来运行 .jar 文件

python - 我如何在 python 中以相反的方式实现内置对象和创建的类之间的操作?

Eclipse 与其他项目的构建路径

flutter - 可以同时使用 GetX 和 Get_it 吗?