Programme Java pour implémenter des constructeurs privés

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 Testclasse. Par conséquent, nous ne pouvons pas créer un objet de la Testclasse en dehors de la classe.

C'est pourquoi nous avons créé une public staticmé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 Mainclasse, 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 - privatevariable de type de classe
  • Language () - privateconstructeur
  • getInstance () - public staticméthode de type de classe
  • display () - publicmé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éthodegetInstance()

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.

Articles intéressants...