Program Java do implementacji prywatnych konstruktorów

W tym przykładzie nauczymy się implementować prywatne konstruktory w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Konstruktory Java
  • Java Singleton

Przykład 1: Program Java do tworzenia prywatnego 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(); ) )

Wynik

 To jest prywatny konstruktor.

W powyższym przykładzie utworzyliśmy prywatnego konstruktora Testklasy. Dlatego nie możemy stworzyć obiektu Testklasy poza klasą.

Dlatego stworzyliśmy public staticmetodę o nazwie instanceMethod()wewnątrz klasy, która jest używana do tworzenia obiektu klasy Test. Z Mainklasy wywołujemy metodę, używając nazwy klasy.

Przykład 2: Projekt Java Singleton przy użyciu prywatnego konstruktora

Wzorzec projektowy Java Singleton zapewnia, że ​​powinna istnieć tylko jedna instancja klasy. Aby to osiągnąć, używamy prywatnego konstruktora.

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

Wynik

 Osiągnięto wzorzec singletona Inside Private Constructor

W powyższym przykładzie utworzyliśmy klasę o nazwie Languages. Klasa zawiera:

  • język - privatezmienna typu klasy
  • Language () - privatekonstruktor
  • getInstance () - public staticmetoda typu klasy
  • display () - publicmetoda

Ponieważ konstruktor jest private, nie możemy tworzyć obiektów języka z klasy zewnętrznej. Dlatego stworzyliśmy obiekt klasy wewnątrz getInstance()metody.

Warunek jednak ustawiliśmy w taki sposób, że utworzony zostanie tylko jeden obiekt. A metoda zwraca obiekt.

Zwróć uwagę na linię,

 db1 = Language.getInstance();

Tutaj,

  • db1 jest zmienną typu Język
  • Language.getInstance () - wywołuje metodęgetInstance()

Ponieważ getInstance()zwraca obiekt klasy Language, zmienna db1 jest przypisywana z zwracanym obiektem.

Na koniec wywołaliśmy display()metodę za pomocą obiektu.

Interesujące artykuły...