Јава програм за примену приватних конструктора

У овом примеру ћемо научити да имплементирамо приватне конструкторе у Јави.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава конструктори
  • Јава Синглетон

Пример 1: Јава програм за стварање приватног конструктора

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

Оутпут

 Ово је приватни конструктор.

У горњем примеру смо креирали приватни конструктор Testкласе. Дакле, не можемо створити објекат Testкласе изван класе.

Због тога смо креирали public staticметоду која се назива instanceMethod()унутар класе и која се користи за креирање објекта класе Тест. А из Mainкласе називамо методу користећи име класе.

Пример 2: Дизајн Јава Синглетон помоћу приватног конструктора

Узорак дизајна Јава Синглетон осигурава да треба да постоји само један примерак класе. Да бисмо то постигли користимо приватни конструктор.

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

Оутпут

 Постигнут је Синглетон образац унутар приватног конструктора

У горњем примеру смо креирали класу под називом Језици. Предмет садржи,

  • језик - privateпроменљива типа класе
  • Језик () - privateконструктор
  • гетИнстанце () - public staticметода типа класе
  • дисплаи () - publicметода

Будући да је конструктор private, не можемо да креирамо објекте језика из спољне класе. Стога смо унутар getInstance()методе креирали објекат класе .

Међутим, поставили смо услов тако да се креира само један објекат. И, метода враћа објекат.

Обратите пажњу на линију,

 db1 = Language.getInstance();

Ево,

  • дб1 је променљива типа језика
  • Лангуаге.гетИнстанце () - позива методgetInstance()

Будући да getInstance()враћа објект класе Лангуаге, променљива дб1 се додељује враћеном објекту.

Коначно, позвали смо display()методу користећи објекат.

Занимљиви Чланци...