super呼び出し

2chJavaのスレ読んでて、「superキーワード、クラスメソッドで使えないのなんで?」っていう話題が。

302 :デフォルトの名無しさん :sage :2008/10/25(土) 20:38:46
クラスメソッドの中でthisキーワードを使えないは理解できるんですが、superまで使えない仕様は何か理由があるのでしょうか?
クラスメソッドであろうとインスタンスメソッドであろうと同じように親クラスを特定できるはずです。

310 :デフォルトの名無しさん :sage :2008/10/25(土) 22:50:59
>>302
まず、T の上位クラスが S であると仮定する。クラスTにおいて
T.super.name および、super.name は (S)this.name であるように処理される。
コンパイル時に名前解決が出来ない場合、エラーとなる。

まー、thisから逃れられない仕様になっています、と。

320 :302 :sage :2008/10/26(日) 03:00:43
>>310
なるほど・・・内部でthisを呼んでたわけですね。
すっきりしました。ありがとうございました。

自分の中では「superをstaticに呼び出すなんて出来ない」っていう事でしかなかったけど、ちゃんと説明するとこうなるのかな。