デザインパターン Singleton:たった1つのインスタンス

概要

インスタンスが1つしか存在しない事を保証したい場合に利用

クラス図

singleton

Singleton

package myPack;
public class Singleton {
 private static Singleton singleton = new Singleton();
 クラスがロードされる際(一度だけ)にインスタンス変数を生成

 private Singleton(){}
 外部からのコンストラクタ実行を禁止

 public static Singleton getInstance(){
  return singleton;
  内部で生成したインスタンスを返す
 }
}

利用

package myPack;
public class Main {
 public static void main(String[] args){
  Singleton obj1 = Singleton.getInstance();
  Singleton obj2 = Singleton.getInstance();
  if (obj1==obj2){
   System.out.println("同じ");
  }
 }
}