Java-program för att implementera privata konstruktörer

I det här exemplet lär vi oss att implementera privata konstruktörer i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-konstruktörer
  • Java Singleton

Exempel 1: Java-program för att skapa en privat konstruktör

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

Produktion

 Detta är en privat konstruktör.

I exemplet ovan har vi skapat en privat konstruktör av Testklassen. Därför kan vi inte skapa ett objekt för Testklassen utanför klassen.

Det är därför vi har skapat en public staticmetod med namnet instanceMethod()i klassen som används för att skapa ett objekt av testklassen. Och från Mainklassen kallar vi metoden med hjälp av klassnamnet.

Exempel 2: Java Singleton-design med en privat konstruktör

Java Singleton-designmönstret säkerställer att det bara ska finnas en förekomst av en klass. För att uppnå detta använder vi den privata konstruktören.

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

Produktion

 Inuti Private Constructor Singleton Pattern uppnås

I exemplet ovan har vi skapat en klass som heter Språk. Klassen innehåller,

  • språk - klasstyp privatevariabel
  • Språk () - privatekonstruktör
  • getInstance () - public staticklass typ metod
  • display () - publicmetod

Eftersom konstruktören är private, kan vi inte skapa språkobjekt från den yttre klassen. Därför har vi skapat ett objekt av klassen inuti getInstance()metoden.

Vi har dock ställt villkoret så att endast ett objekt skapas. Och metoden returnerar objektet.

Lägg märke till raden,

 db1 = Language.getInstance();

Här,

  • db1 är en variabel av språktyp
  • Language.getInstance () - anropar metodengetInstance()

Eftersom, getInstance()returnerar objektet för språkklassen, tilldelas db1-variabeln det returnerade objektet.

Slutligen har vi kallat display()metoden med hjälp av objektet.

Intressanta artiklar...