Программа на 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(); ) )

Вывод

 Внутри частного конструктора достигается шаблон Singleton

В приведенном выше примере мы создали класс с именем Languages. Класс содержит,

  • language - privateпеременная типа класса
  • Language () - privateконструктор
  • getInstance () - public staticметод типа класса
  • display () - publicметод

Поскольку конструктор есть private, мы не можем создавать объекты Language из внешнего класса. Следовательно, мы создали объект класса внутри getInstance()метода.

Однако мы установили условие таким образом, что создается только один объект. И метод возвращает объект.

Обратите внимание на линию,

 db1 = Language.getInstance();

Вот,

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

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

Наконец, мы вызвали display()метод, использующий объект.

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