Sobes.tech
Junior — Middle

Quali sono le restrizioni nell'uso di costruttori privati nelle classi?

sobes.tech AI

Risposta dell'AI

I costruttori privati nelle classi hanno le seguenti restrizioni:

  • Non possono essere chiamati dall'esterno della classe, cioè non è possibile creare un oggetto di questa classe usando l'operatore new al di fuori della classe stessa.
  • Sono generalmente usati per implementare pattern, ad esempio Singleton, o per creare classi con un insieme di metodi statici (classi di utilità).
  • A causa del costruttore privato, non è possibile ereditare da questa classe, poiché le sottoclassi non potranno chiamare il costruttore della classe base.

Esempio di utilizzo di un costruttore privato per Singleton:

public class Singleton {
    private static final Singleton instance = new Singleton();

    private Singleton() {
        // costruttore privato
    }

    public static Singleton getInstance() {
        return instance;
    }
}

In questo modo, il costruttore privato limita la creazione di oggetti solo all'interno della classe e vieta la creazione di istanze dall'esterno.