In diesem Beispiel lernen wir, private Konstruktoren in Java zu implementieren.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:
- Java-Konstruktoren
- Java Singleton
Beispiel 1: Java-Programm zum Erstellen eines privaten Konstruktors
class Test ( // create private constructor private Test () ( System.out.println("This is a private constructor."); ) // create a public static method public static void instanceMethod() ( // create an instance of Test class Test obj = new Test(); ) ) class Main ( public static void main(String() args) ( // call the instanceMethod() Test.instanceMethod(); ) )
Ausgabe
Dies ist ein privater Konstruktor.
Im obigen Beispiel haben wir einen privaten Konstruktor der Test
Klasse erstellt. Daher können wir kein Objekt der Test
Klasse außerhalb der Klasse erstellen .
Aus diesem Grund haben wir eine public static
Methode mit dem Namen instanceMethod()
innerhalb der Klasse erstellt, mit der ein Objekt der Testklasse erstellt wird. Und von der Main
Klasse rufen wir die Methode unter Verwendung des Klassennamens auf.
Beispiel 2: Java Singleton-Design mit einem privaten Konstruktor
Das Java Singleton-Entwurfsmuster stellt sicher, dass nur eine Instanz einer Klasse vorhanden sein sollte. Um dies zu erreichen, verwenden wir den privaten Konstruktor.
class Language ( // create a public static variable of class type private static Language language; // private constructor private Language() ( System.out.println("Inside Private Constructor"); ) // public static method public static Language getInstance() ( // create object if it's not already created if(language == null) ( language = new Language(); ) // returns the singleton object return language; ) public void display() ( System.out.println("Singleton Pattern is achieved"); ) ) class Main ( public static void main(String() args) ( Language db1; // call the getInstance method db1= Language.getInstance(); db1.display(); ) )
Ausgabe
Inside Private Constructor Singleton Pattern wird erreicht
Im obigen Beispiel haben wir eine Klasse mit dem Namen Languages erstellt. Die Klasse enthält:
- Sprache - Klasse Typ
private
Variable - Sprache () -
private
Konstruktor - getInstance () -
public static
Klassentypmethode - display () -
public
Methode
Da der Konstruktor ist private
, können wir keine Sprachobjekte aus der äußeren Klasse erstellen. Daher haben wir innerhalb der getInstance()
Methode ein Objekt der Klasse erstellt .
Wir haben die Bedingung jedoch so festgelegt, dass nur ein Objekt erstellt wird. Und die Methode gibt das Objekt zurück.
Beachten Sie die Linie,
db1 = Language.getInstance();
Hier,
- db1 ist eine Variable vom Sprachtyp
- Language.getInstance () - ruft die Methode auf
getInstance()
Da getInstance()
das Objekt der Sprachklasse zurückgegeben wird, wird der Variablen db1 das zurückgegebene Objekt zugewiesen.
Schließlich haben wir die display()
Methode mit dem Objekt aufgerufen .