aを作るとき渡すbがnullでどこ指すか分かってないからあとでbを作ってもaのbはnullのままってことですね。

では、AがBへの参照ほしくてBがAへの参照ほしい場合はどう書けばいいんでしょう?

class Test {
 private A a;
 private B b;
 public Test() {
  a = new A(b);
  b = new B(a);
 }
}

だとだめですよね・・・こういう場合何か定石があるのでしょうか?