Goo GGooo píše v Po 21. 11. 2005 v 00:54 +1300:
Důvod je v dědičnosti. Před voláním konstruktoru nadtřídy nic v objektu
neexistuje. Testování parametru lze provést jako součást volání super.
....
public BaseFirm(Where where) {
super(new TestedWhere(vhere));
}
......
Je spíš otázkou jetli to má smysl není lepší vytvořit objekt, pak
otestovat platnost parametrů a ty nastavit nebo nanastavit případně
vyvolat výjimku.
> Ahoj vsichni,
>
> uz jsem se pri svem seznamovani s Javou stacil dozvedet ze volani
> konstruktoru nadrazene tridy (tedy "super(...)") musi byt v novem
> konstruktoru hned jako prvni prikaz. Netusite nekdo jaky to ma duvod?
> Ted jsem chtel vytvorit konstruktor ktery by pred zavolanim sveho
> super() vykonal validaci parametru, ale tvrde jsem narazil takze
> musim pouzit nehezky workaround. Vrta mi hlavou jake tohle omezeni
> muze mit duvod...?
>
> Dik
>
> Goo
--
Ladislav Zahour <[EMAIL PROTECTED]>