„Java“ programa privatiems konstruktoriams įgyvendinti

Šiame pavyzdyje mes išmoksime diegti privačius konstruktorius „Java“.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“ konstruktoriai
  • Java Singleton

1 pavyzdys: „Java“ programa privačiam konstruktoriui sukurti

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

Rezultatas

 Tai privatus konstruktorius.

Ankstesniame pavyzdyje mes sukūrėme privatų Testklasės konstruktorių . Taigi mes negalime sukurti klasės objekto už Testklasės ribų.

Štai kodėl mes sukūrėme public staticmetodą, pavadintą instanceMethod()klasės viduje, kuris naudojamas sukurti „Test“ klasės objektą. Iš Mainklasės mes vadiname metodą naudodami klasės pavadinimą.

2 pavyzdys: „Java Singleton“ dizainas naudojant privatų konstruktorių

„Java Singleton“ dizaino modelis užtikrina, kad klasėje turėtų būti tik vienas egzempliorius. Norėdami tai pasiekti, mes naudojame privatų konstruktorių.

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

Rezultatas

 Pasiektas privataus konstruktoriaus „Singleton“ modelis

Ankstesniame pavyzdyje mes sukūrėme klasę pavadinimu Kalbos. Klasėje yra,

  • kalba - klasės tipo privatekintamasis
  • Kalba () - privatekonstruktorius
  • getInstance () - public staticklasės tipo metodas
  • display () - publicmetodas

Kadangi konstruktorius yra private, mes negalime sukurti kalbos objektų iš išorinės klasės. Taigi getInstance()metodo viduje sukūrėme klasės objektą .

Tačiau sąlygą nustatėme taip, kad būtų sukurtas tik vienas objektas. Metodas grąžina objektą.

Atkreipkite dėmesį į eilutę,

 db1 = Language.getInstance();

Čia

  • db1 yra kalbos tipo kintamasis
  • Language.getInstance () - iškviečia metodągetInstance()

Nuo, getInstance()grąžina kalbos klasės objektą, db1 kintamasis priskiriamas grąžinamam objektui.

Galiausiai, mes iškvietėme display()metodą naudodami objektą.

Įdomios straipsniai...