Sobes.tech
Junior — Middle

Milyen korlátozások vannak a privát konstruktorok használatakor osztályokban?

sobes.tech MI

Válasz az MI-től

A privát konstruktorok a osztályokban a következő korlátozásokkal rendelkeznek:

  • Nem hívhatók meg az osztályon kívül, vagyis nem lehet az osztály new operátorával példányt létrehozni azon kívül.
  • Általában mintázatok, például Singleton, vagy statikus metódusokat tartalmazó osztályok (segédosztályok) megvalósítására használják.
  • A privát konstruktor miatt nem örökölhető ilyen osztály, mivel az alosztályok nem hívhatják meg az alap osztály konstruktorát.

Példa a privát konstruktor használatára Singleton esetén:

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

    private Singleton() {
        // privát konstruktor
    }

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

Így a privát konstruktor korlátozza az objektumok létrehozását csak az osztályon belül, és megakadályozza az példányok külső létrehozását.