Java-ohjelma yksityisten rakentajien toteuttamiseksi

Tässä esimerkissä opitaan toteuttamaan Java-yksityisiä rakentajia.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java-rakentajat
  • Java Singleton

Esimerkki 1: Java-ohjelma yksityisen rakentajan luomiseen

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

Tuotos

 Tämä on yksityinen rakentaja.

Yllä olevassa esimerkissä olemme luoneet Testluokan yksityisen rakentajan . Siksi emme voi luoda Testluokan objektia luokan ulkopuolelle.

Siksi olemme luoneet luokan sisällä public staticnimetyn menetelmän instanceMethod(), jota käytetään Test-luokan objektin luomiseen. Ja Mainluokassa kutsumme menetelmää luokan nimellä.

Esimerkki 2: Java Singleton -suunnittelu yksityisen rakentajan avulla

Java Singletonin suunnittelumalli varmistaa, että luokassa on vain yksi esiintymä. Tämän saavuttamiseksi käytämme yksityistä rakentajaa.

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

Tuotos

 Yksityisen rakentajan sisällä saavutetaan Singleton-malli

Edellä olevassa esimerkissä olemme luoneet luokan nimeltä Kielet. Luokka sisältää

  • kieli - luokan tyyppinen privatemuuttuja
  • Kieli () - privaterakentaja
  • getInstance () - public staticluokan tyyppinen menetelmä
  • display () - publicmenetelmä

Koska konstruktori on private, emme voi luoda kielen esineitä ulommasta luokasta. Siksi olemme luoneet luokan objektin getInstance()menetelmän sisälle .

Olemme kuitenkin asettaneet ehdon siten, että luodaan vain yksi objekti. Ja menetelmä palauttaa objektin.

Huomaa rivi,

 db1 = Language.getInstance();

Tässä,

  • db1 on kielityyppinen muuttuja
  • Language.getInstance () - kutsuu menetelmäägetInstance()

Koska, getInstance()palauttaa Kieli-luokan objektin, db1-muuttuja määritetään palautetun objektin kanssa.

Lopuksi olemme kutsuneet display()menetelmää objektin avulla.

Mielenkiintoisia artikkeleita...