Java 17 Silver ラボ

学習の画面へ

sealed のサブクラスをさらに制限

出力はどれか。

public class Main {
    public static void main(String[] args) {
        Animal a = new Puppy();
        System.out.println(a instanceof Dog d ? "dog" : "other");
    }
}

sealed class Animal permits Dog, Cat {
}

sealed class Dog extends Animal permits Puppy {
}

final class Puppy extends Dog {
}

final class Cat extends Animal {
}
  1. A dog
  2. B other
  3. C コンパイルエラーになる
  4. D 実行時に例外が発生する
正解と解説を見る

正解: A

ポイント

「シール・クラスの作成と使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)