20. public final フィールド
public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis() { ... }
...
}
• コンストラクタをprivateにすることで、オ
ブジェクトの生成を1回のみに強制する
21. staticファクトリーメソッド
public class Elvis {
private static final Elvis INSTANCE = new Elvis();
private Elvis();
public static Elvis getInstance() { return INSTANCE; }
...
}
• インスタンスはprivate static final フィール
ドで一度のみ初期化
• ファクトリーメソッドで参照する
INSTANCEは常に同一インスタンス