In questo esempio, impareremo a implementare costruttori privati in Java.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Costruttori Java
- Java Singleton
Esempio 1: programma Java per creare un costruttore privato
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(); ) )
Produzione
Questo è un costruttore privato.
Nell'esempio precedente, abbiamo creato un costruttore privato della Test
classe. Quindi, non possiamo creare un oggetto della Test
classe al di fuori della classe.
Questo è il motivo per cui abbiamo creato un public static
metodo denominato instanceMethod()
all'interno della classe che viene utilizzato per creare un oggetto della classe Test. E dalla Main
classe, chiamiamo il metodo usando il nome della classe.
Esempio 2: progettazione Java Singleton utilizzando un costruttore privato
Il modello di progettazione Java Singleton garantisce che dovrebbe essere presente una sola istanza di una classe. Per ottenere ciò utilizziamo il costruttore privato.
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(); ) )
Produzione
Inside Private Constructor Singleton Pattern è stato realizzato
Nell'esempio precedente, abbiamo creato una classe denominata Languages. La classe contiene,
- lingua -
private
variabile del tipo di classe - Language () -
private
costruttore - getInstance () -
public static
metodo del tipo di classe - display () -
public
metodo
Poiché il costruttore è private
, non possiamo creare oggetti di Language dalla classe esterna. Quindi, abbiamo creato un oggetto della classe all'interno del getInstance()
metodo.
Tuttavia, abbiamo impostato la condizione in modo tale che venga creato un solo oggetto. E il metodo restituisce l'oggetto.
Notare la linea,
db1 = Language.getInstance();
Qui,
- db1 è una variabile di tipo Language
- Language.getInstance () : chiama il metodo
getInstance()
Poiché, getInstance()
restituisce l'oggetto della classe Language, la variabile db1 viene assegnata con l'oggetto restituito.
Infine, abbiamo chiamato il display()
metodo utilizzando l'oggetto.