我需要将类型B的对象链接到类型A(循环依赖项)的任何实例。我也可以声明另一个方法,它必须在A的构造函数之后调用,并将新的B链接到A实例。我想实现的是不必手动调用这种方法。这是示例代码:使用self(this)在构造函数中调用构造方法 - 参数
public Class A{
B b;
public A(){
b = new B(this); // this does not work,
// as this references an object that has not been created yet
}
}
public Class B{
A a;
public B(A a){
this.a = a; //or something else
}
}
我评论了有问题的行。我也明白为什么它不能工作。我需要知道的是,如果有一个众所周知的设计模式来避免这个问题?或者我应该重新设计我的班级模型,把B中的任何东西放到A中?有什么建议么?
你必须学习依赖注入原则,它是Spring框架的核心,并且在那里解决这些类型的问题 – Algorithmist
你在做什么?鉴于项目细节可能会影响不同的答案。 –
您可能只需要使用set方法。我不知道你将如何在构造函数中做到这一点。 – taronish4