final
1) コンストラクターで 1 回だけ設定される 2) 不変オブジェクトへの参照であるオブジェクト フィールドに使用することは良い習慣であることを理解しています。
コンストラクターで一度だけ設定され、変更可能なオブジェクトを参照するフィールドはどうですか?
現在、final
どのフィールドがオブジェクトの変更可能な状態 (最終的でないもの) を表しているかをすぐに確認できるため、不変オブジェクト参照のみを使用することを好みます。
更新: final が技術的にどのように機能するかを知っています。具体的には、変更可能なオブジェクトへの参照を final として設定しても、オブジェクトが不変にならないことを知っています。この質問は、コードの明確さと理解可能性を最大限に高めたい場合に、いつ final を使用するかについてです。