Java 17 Silver ラボ

学習の画面へ

default メソッドの衝突を放置する

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

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

interface A {
    default String hi() { return "A"; }
}

interface B {
    default String hi() { return "B"; }
}

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

正解: D

ポイント

「デフォルト・メソッドとプライベート・メソッドの使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)