Java 17 Silver ラボ

学習の画面へ

親の型の配列

出力はどれか。

public class Main {
    public static void main(String[] args) {
        Animal[] list = {new Dog(), new Cat(), new Animal()};
        for (Animal a : list) {
            System.out.print(a.name() + " ");
        }
    }
}

class Animal {
    String name() { return "animal"; }
}

class Dog extends Animal {
    String name() { return "dog"; }
}

class Cat extends Animal {
    String name() { return "cat"; }
}
  1. A dog cat animal
  2. B animal animal animal
  3. C コンパイルエラーになる
  4. D dog cat
正解と解説を見る

正解: A

ポイント

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