Java 17 Silver ラボ

学習の画面へ

Java 17 Silver ・ 5. 継承とインタフェースの使用

シール・クラスの作成と使用 の練習問題と解説

Java 17 Silver ラボ の「5. 継承とインタフェースの使用 › シール・クラスの作成と使用」の問題 6 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。

シール・クラスの作成と使用 について

Java 17 で正式になった sealed は、継承できるクラスを限定する仕組みです。permits の書き方と、許可されたサブクラスに付ける修飾子を扱います。

sealed class Shape permits Circle, Square と書くと、permits に挙げたクラスしか Shape を継承できません。許可されたサブクラスは final・sealed・non-sealed のどれかを必ず付けます。non-sealed にすると、そこから先は誰でも継承できるようになります。sealed は abstract と組み合わせられ、インタフェースにも使えます。

record は暗黙に final なので、修飾子を付けずに sealed インタフェースを実装できます。permits に無いクラスが継承しようとするとコンパイルエラーです。サブクラスに 3 つの修飾子のどれも付けないとエラーになる点と、record だけは例外である点を合わせて覚えます。

問題 (6 問)

「シール・クラスの作成と使用」をこのサイトで解く

広告