我需要將類型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