Sobes.tech
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 new fora 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.