liguofeng29’s blog

個人勉強用ブログだっす。

デザインパターン - Singleton

 【Singletonパターンとは】

インスタンスを一つだけ生成できるようにする。

 

Singletonパターンのクラス図】

 

Singletonパターンのメリット】

このパターンを利用して、生成されるインスタンス数を制御できる。

 

【サンプル】

SingletonClass.java
package singleton;
 
public class SingletonClass {
private static SingletonClass instance = new SingletonClass();
 
    /*
     * コンストラクタをprivateにする
     */
    private SingletonClass() {
        System.out.println("インスタンスが生成されました。");
    }
 
    public static SingletonClass getInstance() {
        return instance;
    }
}
 
SingletonTest.java
package singleton;
 
public class SingletonTest {
/**
     * @param args
     */
    public static void main(String[] args) {
        SingletonClass single1 = SingletonClass.getInstance();
        SingletonClass single2 = SingletonClass.getInstance();
 
        System.out.println(single1);
        System.out.println(single2);
 
        if(single1.equals(single2)){
            System.out.println("single1とsingle2は同じインスタンスです。" );
        }
    }
}
 
 
 
結果
インスタンスが生成されました。
singleton.SingletonClass@659e0bfd
singleton.SingletonClass@659e0bfd
single1とsingle2は同じです。