Amigo, seja mais coerente no título do tópico, isso ajuda pessoas com a mesma dúvida que você futuramente, ao pesquisarem os tópicos…
O construtor com modificadores serve para proteção da instância de sua classe… o construtor não pode ser utilizado como método, somente no momento da instância…
exemplo, uma classe singleton (desing pattern que só permite uma instância do objeto) utiliza um construtor privado não permitindo que ninguém estancie a classe… só recuperando a instância criada na primeira utilização através de um método getIntance() por padrão
Roger75
Você já ouviu falar de um Design Pattern chamado Singleton?
Singleton é um Design Pattern que se refere a uma classe que é instanciada uma única vez, ou seja, é uma classe que possui uma única instância. Tipicamente o pattern Singleton é utilizado para representar algo único em um sistema.
public class Einstein {
private static final Einstein INSTANCE = new Einstein();
private Einstein() {
...
}
public static Einstein getInstance() {
return INSTANCE;
}
...
}
Este é apenas um exemplo de classe que usa um construtor private.
luis.soares
Pitágoras, sempre que instanciamos um objeto, o fazemos justamente invocando seu construtor, seja ele padrão ou modificado.
A palavra-chave new é quem invoca o construtor do objeto.
Utilizar modificadores pode ser util por exemplo quando se quer que um objeto seja Singleton, ou seja, exista apenas uma instância do mesmo. Assim, uma classe Singleton seria como este exemplo:
publicclassExemploSingleton{/* Instancia do objeto */publicExemploSingletoninstance;/* Método que retorna uma instância do objeto */publicstaticExemploSingletogetInstance(){if(instance==null){instance=newExemploSingleton();}returninstance;}/* Construtor PRIVADO de modo que a classe não seja instanciada externamente */privateExemploSingleton{}}