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
newoperá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.