Java 17 Silver ラボ

学習の画面へ

final メソッドをオーバーライドする

このコードを実行するとどうなるか。

public class Main {
    public static void main(String[] args) {
        System.out.println(new B().id());
    }
}

class A {
    final String id() { return "A"; }
}

class B extends A {
    String id() { return "B"; }
}
  1. A B と出力される
  2. B A と出力される
  3. C 実行時に例外が発生する
  4. D コンパイルエラーになる
正解と解説を見る

正解: D

ポイント

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