Java програма за внедряване на частни конструктори

В този пример ще се научим да прилагаме частни конструктори в Java.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java конструктори
  • Java Singleton

Пример 1: Java програма за създаване на частен конструктор

 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()вътре в класа, който се използва за създаване на обект от класа Test. И от Mainкласа извикваме метода, като използваме името на класа.

Пример 2: Java Singleton дизайн, използващ частен конструктор

Моделът за проектиране на Java Singleton гарантира, че трябва да има само един екземпляр на клас. За да постигнем това, използваме частния конструктор.

 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конструктор
  • getInstance () - public staticметод тип клас
  • display () - publicметод

Тъй като конструкторът е private, не можем да създаваме обекти на Language от външния клас. Следователно, ние създадохме обект от класа в getInstance()метода.

Ние обаче сме задали условието по такъв начин, че да се създаде само един обект. И методът връща обекта.

Забележете линията,

 db1 = Language.getInstance();

Тук,

  • db1 е променлива от тип език
  • Language.getInstance () - извиква методаgetInstance()

Тъй като getInstance()връща обекта от езиковия клас, променливата db1 се присвоява с върнатия обект.

И накрая, ние извикахме display()метода, използвайки обекта.

Интересни статии...