In dit voorbeeld zullen we leren om private constructors in Java te implementeren.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-constructeurs
- Java Singleton
Voorbeeld 1: Java-programma om een eigen constructor te maken
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(); ) )
Uitvoer
Dit is een particuliere constructeur.
In het bovenstaande voorbeeld hebben we een privéconstructor van de Test
klasse gemaakt. Daarom kunnen we geen object van de Test
klasse buiten de klasse maken.
Daarom hebben we een public static
methode gemaakt met de naam instanceMethod()
binnen de klasse die wordt gebruikt om een object van de klasse Test te maken. En vanuit de Main
klas noemen we de methode met behulp van de klassenaam.
Voorbeeld 2: Java Singleton-ontwerp met een eigen constructor
Het Java Singleton-ontwerppatroon zorgt ervoor dat er slechts één instantie van een klasse mag zijn. Om dit te bereiken maken we gebruik van de private constructor.
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(); ) )
Uitvoer
Binnen Private Constructor wordt Singleton Pattern bereikt
In het bovenstaande voorbeeld hebben we een klasse gemaakt met de naam Talen. De klas bevat,
- taal - klasse type
private
variabele - Taal () -
private
constructor - getInstance () -
public static
class type methode - display () -
public
methode
Omdat de constructor is private
, kunnen we geen objecten van taal maken vanuit de buitenste klasse. Daarom hebben we een object van de klasse binnen de getInstance()
methode gemaakt.
We hebben de voorwaarde echter zo ingesteld dat er maar één object wordt gemaakt. En de methode retourneert het object.
Let op de lijn,
db1 = Language.getInstance();
Hier,
- db1 is een variabele van het taaltype
- Language.getInstance () - roept de methode aan
getInstance()
Aangezien, getInstance()
het object van de klasse Language retourneert, wordt aan de variabele db1 het geretourneerde object toegewezen.
Ten slotte hebben we de display()
methode aangeroepen met behulp van het object.