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