Dans cet exemple, nous allons apprendre à implémenter des constructeurs privés en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Constructeurs Java
- Java Singleton
Exemple 1: programme Java pour créer un constructeur privé
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(); ) )
Production
Ceci est un constructeur privé.
Dans l'exemple ci-dessus, nous avons créé un constructeur privé de la Test
classe. Par conséquent, nous ne pouvons pas créer un objet de la Test
classe en dehors de la classe.
C'est pourquoi nous avons créé une public static
méthode nommée instanceMethod()
à l'intérieur de la classe qui est utilisée pour créer un objet de la classe Test. Et à partir de la Main
classe, nous appelons la méthode en utilisant le nom de la classe.
Exemple 2: conception Java Singleton à l'aide d'un constructeur privé
Le modèle de conception Java Singleton garantit qu'il ne doit y avoir qu'une seule instance d'une classe. Pour ce faire, nous utilisons le constructeur privé.
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(); ) )
Production
Le modèle de singleton du constructeur privé est atteint
Dans l'exemple ci-dessus, nous avons créé une classe nommée Languages. La classe contient,
- language -
private
variable de type de classe - Language () -
private
constructeur - getInstance () -
public static
méthode de type de classe - display () -
public
méthode
Puisque le constructeur l'est private
, nous ne pouvons pas créer d'objets de langage à partir de la classe externe. Par conséquent, nous avons créé un objet de la classe à l'intérieur de la getInstance()
méthode.
Cependant, nous avons défini la condition de telle sorte qu'un seul objet soit créé. Et, la méthode retourne l'objet.
Remarquez la ligne,
db1 = Language.getInstance();
Ici,
- db1 est une variable de type Language
- Language.getInstance () - appelle la méthode
getInstance()
Depuis, getInstance()
renvoie l'objet de la classe Language, la variable db1 est affectée avec l'objet retourné.
Enfin, nous avons appelé la display()
méthode en utilisant l'objet.