Sobes.tech
Junior — Middle

Aké obmedzenia existujú pri používaní súkromných konštruktorov v triedach?

sobes.tech AI

Odpoveď od AI

Súkromné konštruktory v triedach majú nasledujúce obmedzenia:

  • Nemôžu byť volané zvonku triedy, teda nie je možné vytvoriť objekt tejto triedy pomocou operátora new mimo samotnej triedy.
  • Zvyčajne sa používajú na implementáciu vzorov, napríklad Singleton, alebo na vytváranie tried s množinou statických metód (pomocné triedy).
  • Kvôli súkromnému konštruktoru nie je možné takú triedu dediť, pretože podtriedy nebudú môcť volať konštruktor základnej triedy.

Príklad použitia súkromného konštruktora pre Singleton:

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

    private Singleton() {
        // súkromný konštruktor
    }

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

Týmto spôsobom súkromný konštruktor obmedzuje vytváranie objektov iba v rámci triedy a zakazuje vytváranie inštancií zvonku.