07/03/15 13:45:06
>>19
>あるクラスの変数によってサブクラスのオブジェクトを参照する場合、
>そのオブジェクトが呼び出すメソッドは、スーパークラスでも宣言されている
>オーバーライドメソッドでなければならないということですか?
そりゃ当たり前だわな。C1はf()なんて知らないんだから。
次のコードではいけない理由があるのかな。
C2 obj = new C2();
obj.f();
あるいは
C1 obj = new C2();
(C2)obj.f();
と質問者がいなくなってから答えてみる。