Java 17 Silver ラボ

学習の画面へ

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

デフォルト・メソッドとプライベート・メソッドの使用 の練習問題と解説

Java 17 Silver ラボ の「5. 継承とインタフェースの使用 › デフォルト・メソッドとプライベート・メソッドの使用」の問題 8 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。

デフォルト・メソッドとプライベート・メソッドの使用 について

Java 8 からインタフェースに本体のある default メソッドを、Java 9 から private メソッドを書けます。その決まりと、名前がぶつかったときにどうなるかを確かめます。

2 つのインタフェースに同じ default メソッドがあり、両方を実装すると、クラスでオーバーライドしない限りコンパイルエラーです。オーバーライドの中で特定の方を呼ぶには A.super.hello() と書きます。親クラスのメソッドとインタフェースの default メソッドがぶつかったときは、クラスのメソッドが優先されます。

private メソッドは default メソッドなどの共通処理をまとめるためのもので、実装したクラスからは呼べません。インタフェースの static メソッドからは static でない private メソッドを呼べないので、static メソッドと共通の処理は private static にします。equals・hashCode・toString を default メソッドとして定義するとコンパイルエラーです。

問題 (8 問)

「デフォルト・メソッドとプライベート・メソッドの使用」をこのサイトで解く

広告