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 Test
luokan yksityisen rakentajan . Siksi emme voi luoda Test
luokan objektia luokan ulkopuolelle.
Siksi olemme luoneet luokan sisällä public static
nimetyn menetelmän instanceMethod()
, jota käytetään Test-luokan objektin luomiseen. Ja Main
luokassa 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
private
muuttuja - Kieli () -
private
rakentaja - getInstance () -
public static
luokan tyyppinen menetelmä - display () -
public
menetelmä
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.