Java 17 Silver ラボ

学習の画面へ

Java 17 Silver ・ 4. クラスの定義とインスタンスの使用

レコード・クラスの作成と使用 の練習問題と解説

Java 17 Silver ラボ の「4. クラスの定義とインスタンスの使用 › レコード・クラスの作成と使用」の問題 7 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。

レコード・クラスの作成と使用 について

Java 16 で正式になった record は、値をまとめて持つクラスを短く書く仕組みです。自動で作られるメンバと、書けること・書けないことを扱います。

record Point(int x, int y) {} と書くと、private final のフィールド、全部の値を受け取るコンストラクタ、アクセサ、equals・hashCode・toString が作られます。アクセサの名前は getX() ではなく x() です。フィールドは final なので、値を書き換えるメソッドは書けません。

コンパクトコンストラクタ (Point { ... }) は引数の括弧を書かず、値の検査などを書くと、最後にフィールドへ自動で代入されます。中で this.x = ... と書くとコンパイルエラーです。インスタンス変数は追加できませんが、static 変数やメソッドは追加できます。record は暗黙に final で、他のクラスを継承できませんが、インタフェースは実装できます。

問題 (7 問)

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

広告