Junior — Middle
Koje su restrikcije pri korišćenju privatnih konstruktora u klasama?
sobes.tech АИ
Одговор од АИ
Privatni konstruktori u klasama imaju sledeća ograničenja:
- Ne mogu biti pozvani izvan klase, tj. ne može se kreirati objekat te klase pomoću operatora
newvan same klase. - Obično se koriste za implementaciju obrazaca, na primer Singleton, ili za kreiranje klasa sa skupom statičkih metoda (pomoćne klase).
- Zbog privatnog konstruktora, takva klasa ne može biti nasledjena, jer podklase neće moći da pozovu konstruktor osnovne klase.
Primer korišćenja privatnog konstruktora za Singleton:
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {
// privatni konstruktor
}
public static Singleton getInstance() {
return instance;
}
}
Na ovaj način, privatni konstruktor ograničava kreiranje objekata samo unutar klase i zabranjuje kreiranje instanci spolja.