Програма Java для реалізації приватних конструкторів

У цьому прикладі ми навчимося реалізовувати приватні конструктори в Java.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:

  • Конструктори Java
  • Java Сінглтон

Приклад 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()повертає об'єкт класу Language, змінній db1 призначається повернутий об'єкт.

Нарешті, ми викликали display()метод, використовуючи об'єкт.

Цікаві статті...