Java-program til implementering af private konstruktører

I dette eksempel lærer vi at implementere private konstruktører i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java-konstruktører
  • Java Singleton

Eksempel 1: Java-program til oprettelse af en privat konstruktør

 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(); ) )

Produktion

 Dette er en privat konstruktør.

I ovenstående eksempel har vi oprettet en privat konstruktør af Testklassen. Derfor kan vi ikke oprette et objekt fra Testklassen uden for klassen.

Dette er grunden til, at vi har oprettet en public staticmetode, der er navngivet instanceMethod()inde i klassen, der bruges til at oprette et objekt fra testklassen. Og fra Mainklassen kalder vi metoden ved hjælp af klassens navn.

Eksempel 2: Java Singleton-design ved hjælp af en privat konstruktør

Java Singleton-designmønsteret sikrer, at der kun skal være en forekomst af en klasse. For at opnå dette bruger vi den private konstruktør.

 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(); ) )

Produktion

 Inside Private Constructor Singleton-mønster opnås

I ovenstående eksempel har vi oprettet en klasse med navnet Sprog. Klassen indeholder,

  • sprog - klassetype privatevariabel
  • Sprog () - privatekonstruktør
  • getInstance () - klassetypepublic static metode
  • display () - publicmetode

Da konstruktøren er private, kan vi ikke oprette objekter af sprog fra den ydre klasse. Derfor har vi oprettet et objekt af klassen inde i getInstance()metoden.

Vi har dog indstillet betingelsen på en sådan måde, at der kun oprettes et objekt. Og metoden returnerer objektet.

Bemærk linjen,

 db1 = Language.getInstance();

Her,

  • db1 er en variabel af sprogtypen
  • Language.getInstance () - kalder metodengetInstance()

Da, getInstance()returnerer objektet fra sprogklassen, tildeles db1-variablen det returnerede objekt.

Endelig har vi kaldt display()metoden ved hjælp af objektet.

Interessante artikler...