インターフェースShapeがクラスCircleでimplementsされていてさらにクラスCircleはクラスPointを継承しています。その状況で以下の様にインスタンス化しました。
java
1Shape cir = new Circle();
ここでShapeでは記述されていないメソッドdisplay()をcirで実行したい場合Circleにダウンキャストすれば実行できると思ったのですが、以下でシンボルが見つけられませんという様なエラーが出ます。
java
1System.out.println((Circle)cir.display());
因みにインスタンスcirをShapeでは無くCircleで宣言して普通にcir.display()すると実行できます。又、Circleでは無くPointでキャストした場合も実行できませんでした。因みにdisplayはPointのメソッドでCircleでオーバーライドされています。これは何故できないのでしょうか?