Program Java pentru implementarea constructorilor privați

În acest exemplu, vom învăța să implementăm constructori privați în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Constructori Java
  • Java Singleton

Exemplul 1: program Java pentru a crea un constructor privat

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

Ieșire

 Acesta este un constructor privat.

În exemplul de mai sus, am creat un constructor privat al Testclasei. Prin urmare, nu putem crea un obiect al Testclasei în afara clasei.

Acesta este motivul pentru care am creat o public staticmetodă numită instanceMethod()în interiorul clasei care este utilizată pentru a crea un obiect al clasei Test. Și din Mainclasă, numim metoda folosind numele clasei.

Exemplul 2: proiectarea Java Singleton folosind un constructor privat

Modelul de proiectare Java Singleton asigură că ar trebui să existe o singură instanță a unei clase. Pentru a realiza acest lucru folosim constructorul privat.

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

Ieșire

 În interiorul constructorului privat se obține modelul Singleton

În exemplul de mai sus, am creat o clasă numită Limbi. Clasa conține,

  • limbă - privatevariabilă de tip clasă
  • Limbaj () - privateconstructor
  • getInstance () - public staticmetoda tipului clasei
  • display () - publicmetoda

Deoarece constructorul este private, nu putem crea obiecte de limbaj din clasa exterioară. Prin urmare, am creat un obiect al clasei în interiorul getInstance()metodei.

Cu toate acestea, am stabilit condiția astfel încât să fie creat un singur obiect. Și metoda returnează obiectul.

Observați linia,

 db1 = Language.getInstance();

Aici,

  • db1 este o variabilă de tip Language
  • Language.getInstance () - apelează metodagetInstance()

Deoarece, getInstance()returnează obiectul clasei Language, variabila db1 este alocată obiectului returnat.

În cele din urmă, am numit display()metoda folosind obiectul.

Articole interesante...