07/04/03 17:29:58
>>134
staticなメソッドをサブクラスでstaticなメソッドとして再定義すると、
メソッドはオーバーライドでなく隠蔽される。
隠蔽の場合は静的バインディングが行われるので、
そのメソッドを呼び出したインスタンスの静的な型情報にしたがって呼ばれるメソッドが決まる。
だから、SuperClass o = new SubClass(); o.staticMethod();だとすると、
oの静的型であるSuperClassのstaticMethod()が呼ばれる。