Fruit
クラスは、スーパークラスであり、Apple
とOrange
果実のサブクラスである場合、 とGoldenDelicious
とMacintosh
はApple
の下位クラスです。継承及び多型コンフリクト
は、以下の宣言が与えられていると仮定します
Fruit fruit = new GoldenDelicious();
Orange orange = new Orange();
説明
と回答この質問をする方法makeAppleCider
がApple
クラスで定義されていると仮定します。 fruit
このメソッドを呼び出すことができますか?オレンジ色でこのメソッドを呼び出すことはできますか?
私の答えは: 果物はこのメソッドを呼び出すことができますか?明示的なキャストはありません。Appleクラスで定義されているメソッドを呼び出すには、 フルーツインスタンスの明示的なキャストを行う必要があります。この回答は本当ですか?
これは宿題のような非常に多くを探します。それは...ですか? – Jasper
@Aidanc - 最後の段落の質問の最後に提案された解決策があります。 – Flexo
いいえ、私はJavaの本の紹介からJavaを勉強しており、各章の後に質問を解決します。 私はオブジェクトのキャストと多型に矛盾があったので、本当の答えを知りたい。 宿題はありませんでした。 私はそれを勉強しています – MUE