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.








