说我有班级签名
Class1(Class2 c);
Class2(Class1 c);
我如何初始化两者?
最佳答案
对于其中一个类,您不在构造函数中提供引用,但您可以使用set-method.当它们之前都不存在时,初始化它们都依赖于彼此似乎是困难的.
原文链接:https://www.f2er.com/java/438326.htmlclass 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,这完全取决于您计划如何使用对象.