#contents

シングルトンを実装する方法として一般的なものは以下の2つです。
+privateコンストラクタとpublic staticメンバー提供
+staticファクトリメソッド

** privateコンストラクタとpublic staticメンバー提供 [#i8f940a5]
#sh(java){{
#sh(){{
class Kinoshita1 {
	public static final Kinoshita1 INSTANCE = new Kinoshita1();
	
	private Kinoshita1() {
	}
	
	public void sumea() {
	}
}
}}

** staticファクトリメソッド [#nd32da4c]
#sh(java){{
class Kinoshita2 {
	private static final Kinoshita2 INSTANCE = new Kinoshita2();
	
	public Kinoshita2 getInstance() {
		return INSTANCE;
	}
	public void sumea() {
	}
}
}}

** シングルトンベストプラクティス [#n5f33898]
java1.5からenumが使えるようになりました。これを利用すれば、非常に簡単にシングルトンを実現できます。

*** サンプル [#gf9197ec]
#sh(java){{
public enum EnumSingleton {
	INSTANCE;
	
	public void sumea() {
	}
}

class UserSingleton {
	public void use() {
		EnumSingleton.INSTANCE.sumea();
	}
}
}}

これがベストだと思います。
#hr
/[[Top]]/[[codetips]]/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS