In Java kann es Situationen geben, in denen der Programmierer die Funktionen einschränken muss. Insbesondere bei der Verwaltung des Zugriffs auf eine Ressource, die von der gesamten Anwendung gemeinsam genutzt wird, oder die Erstellung von Objekten im Code einzuschränken. In solchen Fällen die “
Singleton -Klasse”In Java assistiert sich bei der günstigen Zugriff auf die Funktionalitäten.
Dieser Artikel zeigt die Verwendung und Implementierung der Java Singleton -Klasse.
Was ist eine „Singleton -Klasse“ in Java?
“Singleton”Entspricht einem Entwurfsmuster, das es der Klasse ermöglicht, nur ein einzelnes Objekt zu haben. Betrachten Sie zum Erstellen einer Singleton-Klasse die folgenden Punkte:
- Den Klassenkonstruktor als "als" zuordnenPrivatgelände”Um die Erstellung von Objekten außerhalb der Klasse zu unterlassen.
- Erstellen Sie ein privates Attribut, das den Klassentyp umfasst, der einem einzelnen erstellten Objekt entspricht.
- Fügen Sie eine öffentliche statische Methode zum Erstellen und Aufrufen des Objekts hinzu.
So erstellen/erstellen/erstellen Sie eine Java -Singleton -Klasse "?
Wenden Sie die folgenden Ansätze an, um eine Singleton -Klasse in Java zu erstellen:
- “bekomme Instanz()" Methode.
- Verwenden des Methodamens (zum Erstellen eines Objekts), das mit dem Klassennamen identisch ist.
Beispiel 1: Implementierung der „Singleton -Klasse“ in Java mit der Methode „getInstance ()“
Der "bekomme Instanz()Die Methode gibt den Verweis auf das einzige Klassenobjekt an. Dieses Beispiel schafft das “Singleton"Klasse, indem Sie diese Methode verwenden, um das einzige Klassenobjekt zu erstellen und es in die" aufzurufen "hauptsächlich()”Methode über Referenz:
Klasse Single
private statische Single x;
private Single ()
öffentliche statische Single getInstance ()
if (x == null)
x = new Single ();
Rückkehr x;
public void display ()
System.aus.println ("Dies ist eine Singleton -Klasse!");
öffentliche Klasse Singleton
public static void main (String [] args)
Einzelobjekt;
Objekt = Single.bekomme Instanz();
Objekt.Anzeige();
Verwenden Sie nach diesem Code die folgenden Schritte:
- Erstens, deklarieren Sie eine Singleton -Klasse namens "Einzel”.
- Geben Sie in seiner (Klassen-) Definition das angegebene an “statisch”Variable.
- Erstellen Sie außerdem einen privaten Klassenkonstruktor, der sicherstellt, dass das Klassenobjekt nicht außerhalb der Klasse erstellt werden kann.
- Danach anwenden Sie die “bekomme Instanz()Methode und erstellen Sie ein Klassenobjekt in seiner Definition über die zufriedene Bedingung in der “Wenn" Stellungnahme.
- Definieren Sie nun eine Funktion namens “Anzeige()”Um die angegebene Nachricht zu protokollieren.
- Im "hauptsächlich()Methode, beziehen Sie sich auf die “bekomme Instanz()Methode und rufen Sie die enthaltene Klassenfunktion über die Klasse auf, um die angegebene Nachricht anzuzeigen.
Ausgang
Dieses Ergebnis bedeutet, dass die Singleton -Klasse angemessen aufgerufen wird, indem ein Klassenobjekt innerhalb der Klasse erstellt wird.
Beispiel 2: Implementierung der „Singleton -Klasse“ in Java mit dem Methodennamen (zum Erstellen eines Objekts) identisch mit der Klasse
In diesem speziellen Beispiel das “SingletonDie Klasse kann so implementiert werden, dass die Methode erstellt, die das Klassenobjekt erstellt, den gleichen Namen wie der der Klasse enthält:
Klasse Single2
private statische Single2 x;
private Single2 ()
public static Single2 Single2 ()
if (x == null)
x = new Single2 ();
Rückkehr x;
public void display ()
System.aus.println ("Dies ist eine Singleton -Klasse!");
öffentliche Klasse Singleton2
public static void main (String [] args)
Single2 x = Single2.Single2 ();
X.Anzeige();
Führen Sie im obigen Codeblock die folgenden Schritte aus:
- Erinnern Sie sich an die diskutierten Ansätze für die Erstellung einer Singleton -Klasse und geben die “anstatisch"Variable und erstellen eine"PrivatgeländeKlassenkonstruktor.
- Erstellen Sie nun eine Methode, die den Namen umfasst, der mit dem Klassennamen identisch ist, ich.e., “Single2 ()Und erstellen Sie in ähnlicher Weise ein Klassenobjekt in dieser Methode.
- Zeigen Sie danach die bereitgestellte Nachricht über die “anAnzeige()”Funktion.
- Im "hauptsächlich()Methode, beziehen Sie sich auf die identische Klassenmethode, indem Sie sich auf die definierte Klasse beziehen.
- Rufen Sie schließlich die enthaltene Klassenfunktion auf und zeigen Sie die akkumulierte Nachricht an.
Ausgang
Die obige Ausgabe zeigt an, dass die Referenzierung angemessen erfolgt und die Klassenfunktionen aus der “zugegriffen werden könnenhauptsächlich()Methode trotz des Objekts, das in der Klasse erstellt wurde.
Abschluss
“Singleton”Entspricht einem Entwurfsmuster, das es der Klasse ermöglicht, nur ein Objekt zu haben und über die“ erstellt werden kannbekomme Instanz()Methode oder Verwendung des Methodennamens (um Objekt zu erstellen) identisch mit dem Klassennamen. Dies kann erreicht werden, indem ein Klassenobjekt innerhalb der Klasse erstellt und die Referenz der Methode an die “weitergeleitet wird“hauptsächlich()" Methode. In diesem Blog wurde die Ansätze zur Erstellung einer Java Singleton -Klasse besprochen.