Programa Java para implementar constructores privados

En este ejemplo, aprenderemos a implementar constructores privados en Java.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Constructores de Java
  • Singleton de Java

Ejemplo 1: programa Java para crear un constructor privado

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

Salida

 Este es un constructor privado.

En el ejemplo anterior, hemos creado un constructor privado de la Testclase. Por tanto, no podemos crear un objeto de la Testclase fuera de la clase.

Es por eso que hemos creado un public staticmétodo llamado instanceMethod()dentro de la clase que se usa para crear un objeto de la clase Test. Y desde la Mainclase, llamamos al método usando el nombre de la clase.

Ejemplo 2: diseño de Java Singleton utilizando un constructor privado

El patrón de diseño de Java Singleton asegura que solo debe haber una instancia de una clase. Para lograr esto usamos el constructor privado.

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

Salida

 Se logra el patrón Singleton de Inside Private Constructor

En el ejemplo anterior, hemos creado una clase llamada Idiomas. La clase contiene,

  • idioma - privatevariable de tipo de clase
  • Language () - privateconstructor
  • getInstance () - public staticmétodo de tipo de clase
  • display () - publicmétodo

Dado que el constructor es private, no podemos crear objetos de Language a partir de la clase externa. Por lo tanto, hemos creado un objeto de la clase dentro del getInstance()método.

Sin embargo, hemos establecido la condición de tal manera que solo se crea un objeto. Y el método devuelve el objeto.

Note la línea,

 db1 = Language.getInstance();

Aquí,

  • db1 es una variable de tipo de lenguaje
  • Language.getInstance () : llama al métodogetInstance()

Dado que getInstance()devuelve el objeto de la clase Language, a la variable db1 se le asigna el objeto devuelto.

Finalmente, hemos llamado al display()método usando el objeto.

Articulos interesantes...