Programa Java para implementar construtores privados

Neste exemplo, aprenderemos a implementar construtores privados em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Construtores Java
  • Java Singleton

Exemplo 1: programa Java para criar um construtor 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(); ) )

Resultado

 Este é um construtor privado.

No exemplo acima, criamos um construtor privado da Testclasse. Portanto, não podemos criar um objeto da Testclasse fora da classe.

É por isso que criamos um public staticmétodo nomeado instanceMethod()dentro da classe que é usado para criar um objeto da classe Test. E da Mainclasse, chamamos o método usando o nome da classe.

Exemplo 2: design Java Singleton usando um construtor privado

O padrão de design Java Singleton garante que haja apenas uma instância de uma classe. Para conseguir isso, usamos o construtor 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(); ) )

Resultado

 O padrão interno do Construtor Privado Singleton é alcançado

No exemplo acima, criamos uma classe chamada Idiomas. A classe contém,

  • idioma - privatevariável de tipo de classe
  • Language () - privateconstrutor
  • getInstance () - public staticmétodo de tipo de classe
  • display () - publicmétodo

Já que o construtor é private, não podemos criar objetos de Linguagem da classe externa. Portanto, criamos um objeto da classe dentro do getInstance()método.

No entanto, definimos a condição de forma que apenas um objeto seja criado. E, o método retorna o objeto.

Observe a linha,

 db1 = Language.getInstance();

Aqui,

  • db1 é uma variável do tipo Language
  • Language.getInstance () - chama o métodogetInstance()

Visto que, getInstance()retorna o objeto da classe Language, a variável db1 é atribuída com o objeto retornado.

Finalmente, chamamos o display()método usando o objeto.

Artigos interessantes...