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
newal 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.