Junior — Middle
Ce restricții există la utilizarea constructorilor privați în clase?
sobes.tech AI
Răspuns de la AI
Constructorii privați din clase au următoarele restricții:
- Nu pot fi apelați din afara clasei, adică nu se poate crea un obiect al acestei clase folosind operatorul
newîn afara clasei în sine. - Sunt de obicei folosiți pentru implementarea modelelor, de exemplu, Singleton, sau pentru crearea de clase cu un set de metode statice (clase utilitare).
- Datorită constructorului privat, nu se poate moșteni o astfel de clasă, deoarece subclasele nu vor putea apela constructorul clasei de bază.
Exemplu de utilizare a unui constructor privat pentru Singleton:
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {
// constructor privat
}
public static Singleton getInstance() {
return instance;
}
}
Astfel, constructorul privat limitează crearea obiectelor doar în interiorul clasei și interzice crearea de instanțe din exterior.