Program Java na implementáciu súkromných konštruktorov

V tomto príklade sa naučíme implementovať súkromné ​​konštruktory v Jave.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:

  • Konštruktory Java
  • Java Singleton

Príklad 1: Program Java na vytvorenie súkromného konštruktora

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

Výkon

 Toto je súkromný konštruktér.

Vo vyššie uvedenom príklade sme vytvorili súkromný konštruktor Testtriedy. Preto nemôžeme vytvoriť objekt Testtriedy mimo triedy.

Preto sme vytvorili public staticmetódu nazvanú instanceMethod()vnútri triedy, ktorá sa používa na vytvorenie objektu triedy Test. A z Maintriedy voláme metódu pomocou názvu triedy.

Príklad 2: Návrh Java Singleton pomocou súkromného konštruktora

Dizajnový vzor Java Singleton zaisťuje, že by mala existovať iba jedna inštancia triedy. Aby sme to dosiahli, používame súkromného konštruktora.

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

Výkon

 Je dosiahnutý Singleton vzor Inside Private Constructor

Vo vyššie uvedenom príklade sme vytvorili triedu s názvom Jazyky. Trieda obsahuje,

  • privatepremenná typu jazyk - trieda
  • Jazyk () - privatekonštruktor
  • getInstance () - public staticmetóda typu triedy
  • Zobrazenie () - publicmetóda

Pretože konštruktor je private, nemôžeme vytvárať objekty jazyka z vonkajšej triedy. Preto sme vo vnútri getInstance()metódy vytvorili objekt triedy .

Podmienku sme však nastavili tak, aby vznikol iba jeden objekt. A metóda vráti objekt.

Všimnite si riadok,

 db1 = Language.getInstance();

Tu,

  • db1 je premenná typu jazyka
  • Language.getInstance () - zavolá metódugetInstance()

Pretože getInstance()vracia objekt jazykovej triedy, premenná db1 je priradená k vrátenému objektu.

Nakoniec sme display()metódu zavolali pomocou objektu.

Zaujímavé články...