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