Junior — Middle
Quais são as restrições ao usar construtores privados em classes?
sobes.tech IA
Resposta da IA
Os construtores privados em classes têm as seguintes restrições:
- Não podem ser chamados de fora da classe, ou seja, não é possível criar um objeto dessa classe usando o operador
newfora da própria classe. - Geralmente são usados para implementar padrões, por exemplo, Singleton, ou para criar classes com um conjunto de métodos estáticos (classes utilitárias).
- Devido ao construtor privado, não é possível herdar dessa classe, pois as subclasses não poderão chamar o construtor da classe base.
Exemplo de uso de um construtor privado para Singleton:
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {
// construtor privado
}
public static Singleton getInstance() {
return instance;
}
}
Assim, o construtor privado limita a criação de objetos apenas dentro da classe e proíbe a criação de instâncias de fora.