>>769
Generics を使えばある程度までは制限できる。Enum クラスを参照。
常に具象クラスが分かっている状態で使うなら、
それぞれのクラスのオーバライドで戻り値を限定した方がずーっと楽だけど。
とりあえず、本当にその必要性があるかどうかを検討するべきに一票