Java のまとまっていないメモ書き

  1. フィールドとメソッド、static と非 static の区分。
  2. Image 型のインスタンスが Graphics 型を返す getGraphics メソッドを持っていたら、戻り値である実行時の ConcreteGraphics 型のインスタンスは、実行時の ConcreteImage 型を知っているのが普通。逆に、ConcreteImage は ConcreteGraphics を知ってないのが普通。たしかに ConcreteImage の getGraphics メソッドは ConcreteGraphics を new しているので、Factory としては知っていることにはなるが、弱い関係である。
  3. なぜクラス(static)は、どんなコンテキストからでも使えるのだ?
  4. 非 static の囲まれる内部クラスは、囲むクラスを集約関係で知っている。囲むクラスは囲まれるクラスの存在は知らないことになるのか?中に持っているのに?