📚

ITスクール DAY19 SingleTon

2023/08/03に公開

SingleTon

一つのオブジェクトのみ生成できるクラスを作成し、オブジェクトを生成する。
そのオブジェクトで色々なオブジェクトを扱ることで、メモリを節約することができる。

  1. コンストラクタは privateで生成。
  2. public static Classtype getInstance()でクラスをリターンするメソッド作成。
SingletonClass
class MySingletonClass{
	//private field
	private static MySingletonClass single_instance  = null;
	
	//private constructor
	private MySingletonClass() {}
	
	//public static method
	public static MySingletonClass getInstance() {
		if(single_instance == null) {
		single_instance = new MySingletonClass();
		}
		return single_instance;
	}

}

public class SingletonClass {
	public static void main(String[] args) {
		
	MySingletonClass singleton1= MySingletonClass.getInstance();
	System.out.println(singleton1);
	System.out.println(singleton1.toString());
		
	MySingletonClass singleton2= MySingletonClass.getInstance();
	System.out.println(singleton2);
	System.out.println(singleton2.toString());
		
	MySingletonClass singleton3= MySingletonClass.getInstance();
	System.out.println(singleton3);
	System.out.println(singleton3.toString());
	}//main()end
}

フィールドに**private static final MySingletonClass single_instance = new new MySingletonClass();**を作成することで、事前に(ランチタイム前)メモリに割当たる方法もある。

Discussion