Singletonパターン

  1. 概要
     
    1. 問題
       地球や大統領など、一つしか存在しないもののクラスを定義する場合、そのインスタンスの生成を制限することが望まれます。

       
    2. 手法
       static宣言された変数は、そのクラスで唯一となり、複数のインスタンスが存在する場合でも共用されます。

  2. 例 Singleton

    1. Singletonクラス
      staticで宣言したsingletonに実クラスを生成しておきます。このクラスの参照し対場合、getinstance()を利用します。

      public class Singleton{
      
       private static Singleton singleton=new Singleton();
      
       private Singleton(){ }
      
       public static Singleton getInstance(){
        return singleton;
      }
      

    2. Singletonの生成とインスタンスの生成時期
       Singletonクラスのインスタンスは、最初にgetInstanceを呼び出したときに生成されます。

       Singleton sgobj=Singleton.getInstance();