Warehouse クラスがあるとします。そのウェアハウスには TradeDesk があります。その TradeDesk は、Warehouse で設定されたインスタンス変数に基づいて、販売可能なアイテムを計算します。Warehouse のコンストラクターは TradeDesk をインスタンス化しますが、TradeDesk は不完全に初期化された Warehouse からのインスタンス変数を必要とするため、問題があります。複数のコンストラクターを介してインスタンス値を渡すことを除いて (これは避けたいと思います。以下の例は大幅に簡略化されていることに注意してください)、どうすればこれを解決できますか? ありがとう!
public class Warehouse {
TradingDesk td;
public int val;
public Warehouse() {
val = 3;
td = new TradingDesk(this);
}
// New class
public class TradingDesk {
Warehouse associatedWh;
int val;
public TradingDesk(Warehouse wh) {
associatedWh = wh;
val = associatedWh.val;
}
}
}