Quote:
|
Originariamente inviato da prazision
boh, ho solo visto che nello stesso esempio fa vedere come avvenga prima l'inizializzazione static della classe base rispetto all'inizializzazione static della classe derivata
|
guarda probabilemente era proprio l'esempio di potenziali problemi che mi era venuto in mente pensando se fosse caricata prima la figlia.
se pensi che in caso di classi non astratte una "figlia" è una classe che estende e specializza (o in alcuni casi reimplementa) le funzionalità della classe padre, mi sembra logico che prima che venga chiamato il metodo costruttore della figlia deve essere chiamato quello della classe padre, così come le inizializzazioni incluse dentro parti di codice "static".
Il rischio sarebbe che potresti far riferimento nella figlia a membri non ancora inizializzati nel padre, con conseguenze sicuramente negative (NullPointer ecc.ecc.)