Prosím o vysvětlení rozdílu ve výsledku při použití statické třídy a privátního konstruktoru.
V obou případech není možné použití třídy jako bázové a instancování třídy.
Jaký je v tom tedy rozdíl?
Děkuji.
u statický třídy nejde vytvořit instance a nejde ofc dědit (konstruktor se uvádí jako static)
u třídy která ma privátní konstruktor lze vše, jen nelze zavolat ten privátní konstruktor
zde je důležité to klíčové slovo static
Dedeni sem neresil, ale privatni konstruktor sem pouzil v kombinaci se statickou metodou na ziskani instance objektu a statickeho "vytvoreni" vsech instanci z konfigurace. Vyhoda? Pracuji pak vzdy se stejnou instanci objektu kdekoliv. (+ pokud je vetsi objekt, tak to setri misto - coz se v jave obvykle moc neresi)
class A
{
protected int cislo;
private A() { } // zakáže bezparametrický konstruktor
public A(int cislo) { this.cislo = cislo; }
}
// třída B nyní může používat pouze konstruktor s parametrem int
// případně nějaký vlastní, ale nelze vytvořit bezparametrický!
class B : A
{
// zavolá konstruktor z rodiče
public B(int cislo)
: base(cislo) { }
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku