シングルトンパターンとは何ですか?
シングルトンは文字通りシングルトンを意味します。つまり、このクラスにはインスタンス オブジェクトが 1 つしかなく、このクラスの新しいインスタンスを複数作成することはできません。
アプリケーションシナリオ
- どのような状況でもインスタンスが絶対に 1 つだけであることを確認したい
- プログラム内で「インスタンスが1つしか存在しない」ことを表示したい
たとえば、Java Web プログラムを作成する場合は、フレームワークによって設定されたいくつかのグローバル構成を使用します。それぞれの場所で異なる設定を呼び出すのではなく、どこで呼び出しても設定が同じであることを確認する必要があります。その場合、グローバル設定は無効になり、プログラムが混乱し、エラーを見つけるのが難しくなります。 。
もちろん、シングルトン モードを使用する必要はありませんが、複数の新しいオブジェクトを作成しないように常に注意する必要があります。したがって、デザインパターンを使用する方が安心です。
シングルトン パターン - UML 図
この UML 図の意味は、この Singleton クラスで静的なプライベート変数 singleton を宣言し、その
コンストラクターを private として宣言して、クラスの外に新しいクラスを作成できないようにすることです。
このクラスのインスタンスを取得するには、外部クラスは getInstance を通じてクラス内の静的変数 singleton を取得することしかできません。
具体的なコードは次のとおりです。
コード
public class Singleton{
//静态私有变量
private static Singleton singleton = new Singleton();
//私有构造方法
private Singleton(){
System.out.println("生成了一个实例!!!");
}
//外部类通过Singleton.getInstance()获取这个类的对象。
public static Singleton getInstance(){
return singleton;}
}
次に、Main 関数を使用してテストできます。
public class Main{
public static void main(String[] args)
{
System.out.println("Strat.");
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
if(s1==s2)
System.out.println("true");
else
System.out.println("false");
System.out.println("End.");
}
}