Java 17 Silver ラボ

学習の画面へ

キャストしてから呼ぶ

出力はどれか。

public class Main {
    public static void main(String[] args) {
        Animal a = new Dog();
        if (a instanceof Dog) {
            Dog d = (Dog) a;
            d.fetch();
        }
    }
}

class Animal {
}

class Dog extends Animal {
    void fetch() { System.out.println("fetch"); }
}
  1. A fetch
  2. B 何も出力されない
  3. C コンパイルエラーになる
  4. D 実行時に例外が発生する
正解と解説を見る

正解: A

ポイント

「参照型のキャストとポリモーフィックなメソッド呼び出し」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)