Immutableクラスの作成に関する質問があります。私が考慮している点は次のとおりです。
- クラスをファイナルにする
- すべてのメンバーをfinalにし、明示的に、静的ブロックで、またはコンストラクターで設定します
- すべてのメンバーを非公開にする
- 状態を変更するメソッドはありません
- 可変メンバーコンポーネントへのアクセスを制限するように細心の注意を払ってください(フィールドはfinalである可能性がありますが、オブジェクトは依然として可変である可能性があります。つまり、private final Date imStillMutable)-詳細については、防御コピーまたはその従兄弟コピーコンストラクターを参照してください。
でも、5点が全然わからなかったので、その例で5点がはっきりしている例を教えてください。