singletom単例モードによる自分のjava基礎知識の反省

1042 ワード

もとは理解した単例はとてもあいまいで、今日たまに単例に対する説明を見て、茅塞顿開は記念に何かを書くべきだと思っています.
 
≪単一モード|Single Mode|emdw≫:クラスにインスタンスが1つしかないことを保証し、グローバル・アクセス・ポイントを提供します.
 
概念に対して2つの点に注目すべきである.
1.クラスに1つのインスタンスのみ
1つのクラスに1つのインスタンスしかないのは,単例の餓漢式コードで分かる.
public class Singleton {

	private static Singleton uniqueInstance = new Singleton();

	private Singleton(){
	}

	public static Singleton getInstance(){
		return uniqueInstance;
	}
	
}

  このパターンの真髄をよく理解できればjavaのいくつかのコアの概念を理解する必要があります
1.privateの使い方
2.staticの使い方
 
privateアクセス権限は、このクラスでのみアクセスできます.これは最も厳しいアクセス条件ですが、他のクラスのアクセスを制御することが最大のメリットです.private制御の属性定義の変更を回避し、メソッド呼び出しの制限を回避します.クラスを継承してもできません.
 
staticメソッドははっきり言ってnewオブジェクトを使わずに直接オブジェクトを使用する方法で、staticのものは彼にもう一つの最高の特性staticの変数としてグローバルな変数とすることができる(注:javaにはグローバル変数の概念がなく、staticによってグローバル変数の特徴を変相することができる).
 
したがって、以上の説明を総合すると、new Singleton()を外部に作成することはできません.Singletonが多くないことを保証します.また、staticはメモリが1つのストレージスペースしか開かないことを保証します.