Java:Singletonパターン
技術ドキュメント目次 -> Java -> Singletonパターン本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。
◆ はじめに
Singletonパターン を適用したクラス(*)の実装の雛形をメモしておきます。(*)
インスタンスが1つしか存在しないことを保障するクラス。
通常、コンストラクタが private になっていて、
getInstance() というメソッドの呼び出しによって、インスタンスが返るように実装する。
◆ サンプル
Singleton な Config クラスのサンプルです。
/* * Copyright (C) 2006 Slogical Corporation */ import java.io.*; import java.lang.*; import java.util.*; public class Config { /** * sigltone なクラスとして実装する */ private static Config conf; private Config () { } public static Config getInstance () { if (conf == null) { conf = new Config(); } return conf; } private String name; public String getName () { return name; } public void setName (String s) { name = s; } } |
Config クラスの setter/getter メソッドを実行し、
インスタンスが1つしか存在していないかを確認する Test クラスのソースコードです。
/* * Copyright (C) 2006 Slogical Corporation */ import java.io.*; import java.lang.*; public class Test { public static void main (String args[]) { Config c1 = Config.getInstance(); Config c2 = Config.getInstance(); System.out.println("c1.setName : test"); c1.setName("test"); System.out.println("c2.getName : " + c2.getName()); System.out.println(""); System.out.println("c2.setName : abcdefg"); c2.setName("abcdefg"); System.out.println("c1.getName : " + c1.getName()); } } |
■ Java についての他のドキュメント
- Ant
- HttpURLConnection
- Java Mail でのメール送信
- Singletonパターン
- TimerTask
- 正規表現(java.util.regex)
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS