Java program za implementaciju privatnih konstruktora

U ovom ćemo primjeru naučiti implementirati privatne konstruktore u Javi.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:

  • Java konstruktori
  • Java Singleton

Primjer 1: Java program za stvaranje privatnog konstruktora

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

Izlaz

 Ovo je privatni konstruktor.

U gornjem primjeru stvorili smo privatni konstruktor Testklase. Stoga ne možemo stvoriti objekt Testklase izvan klase.

Zbog toga smo stvorili public staticmetodu koja se naziva instanceMethod()unutar klase koja se koristi za stvaranje objekta klase Test. A iz Mainrazreda metodu nazivamo pomoću naziva klase.

Primjer 2: Java Singleton dizajn pomoću privatnog konstruktora

Uzorak dizajna Java Singleton osigurava da treba postojati samo jedan primjerak klase. Da bismo to postigli koristimo privatni 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(); ) )

Izlaz

 Postignut je pojedinačni uzorak unutar privatnog konstruktora

U gornjem primjeru stvorili smo razred pod nazivom Jezici. Predmet sadrži,

  • jezik - privatevarijabla tipa klase
  • Jezik () - privatekonstruktor
  • getInstance () - public staticmetoda tipa klase
  • display () - publicmetoda

Budući da je konstruktor private, ne možemo stvarati objekte jezika iz vanjske klase. Stoga smo unutar getInstance()metode stvorili objekt klase .

Međutim, postavili smo uvjet na takav način da se kreira samo jedan objekt. I, metoda vraća objekt.

Primijetite crtu,

 db1 = Language.getInstance();

Ovdje,

  • db1 je varijabla jezičnog tipa
  • Language.getInstance () - poziva metodugetInstance()

Budući da getInstance()vraća objekt klase Language, varijabla db1 dodjeljuje se vraćenom objektu.

Konačno, pozvali smo display()metodu koristeći objekt.

Zanimljivi članci...