技術のメモ箱

デザインパターン/Singleton

概要

1つしかないインスタンス

Singletonクラスの外からコンストラクタを呼び出すことはできない。
最初にgetInstanceメソッドを呼び出したときに、Singletonクラスは初期化される。

サンプルコード

Singleton

public class Singleton {
    private static Singleton singleton = new Singleton();
    private Singleton() {
      System.out.println("インスタンスを生成しました。");
    }
    public static Singleton getInstance() {
      return singleton;
    }
}

Mainクラス

public class Main {
    public static void main(String[] args) {
        System.out.println("start");
        Singleton obj1 = Singleton.getInstance();
        Singleton obj2 = Singleton.getInstance();
        if (obj1 == obj2) {
            System.out.println("同じインスタンス");
        }
    }
}
pagetop