Java program a magánépítők kivitelezéséhez

Ebben a példában megtanuljuk megvalósítani a magánépítőket Java-ban.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java konstruktorok
  • Java Singleton

1. példa: Java program egy privát konstruktor létrehozásához

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

Kimenet

 Ez egy magán kivitelező.

A fenti példában létrehoztunk egy saját Testosztályú konstruktort az osztályból. Ezért nem hozhatunk létre az Testosztály objektumát az osztályon kívül.

Ezért hoztunk létre egy osztályon belül public staticelnevezett metódust, amelyet instanceMethod()a Test osztály objektumának létrehozására használunk. Az Mainosztályból pedig az osztály nevét használva hívjuk meg a módszert.

2. példa: Java Singleton tervezés saját konstruktorral

A Java Singleton tervezési minta biztosítja, hogy egy osztálynak csak egy példánya legyen. Ennek eléréséhez a magánépítőt használjuk.

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

Kimenet

 Belső magánépítőnél Singleton minta érhető el

A fenti példában létrehoztunk egy Nyelvek nevű osztályt. Az osztály tartalmazza,

  • nyelv - osztály típusú privateváltozó
  • Nyelv () - privatekonstruktor
  • getInstance () - public staticosztálytípusú módszer
  • display () - publicmódszer

Mivel a konstruktor az private, a külső osztályból nem hozhatunk létre Nyelv objektumokat. Ezért létrehoztunk egy objektumot az osztályból a getInstance()módszer belsejében .

A feltételt azonban úgy állítottuk be, hogy csak egy objektum jöjjön létre. És a metódus visszaadja az objektumot.

Figyelje meg a sort,

 db1 = Language.getInstance();

Itt,

  • A db1 egy Nyelv típusú változó
  • Language.getInstance () - meghívja a metódustgetInstance()

Mivel, getInstance()a Nyelv osztály objektumát adja vissza, a db1 változót hozzárendelik a visszaküldött objektumhoz.

Végül display()meghívtuk az objektumot használó módszert.

érdekes cikkek...