システム内に存在するオブジェクトが1つであることを保証する。
- 同じ型のインスタンスが private なクラス変数として定義されている。
- コンストラクタの可視性が private である。
- 同じ型のインスタンスを返すgetInstance() がクラス関数として定義されている。
作成方法
インスタンスがないときだけ新しく作り、あるときは作っておいたインスタンスを返す。
final class Singleton {
private static Singleton instance;
private Singleton(){};
public static synchronized Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}