PDA

View Full Version : [JAVA] Chiarimento sulla serializzazione


andbin
06-03-2006, 17:08
Sto studiando la serializzazione e mi è praticamente tutto chiaro. C'è solo una cosa di cui vorrei avere conferma.
Prendiamo l'esempio:
class A { .... }
class B extends A implements Serializable { .... }
Il mio libro dice che durante la de-serializzazione della sottoclasse B, il costruttore della superclasse A viene eseguito, poiché non è marcata Serializable. Quello che non dice esplicitamente (probabilmente lo sottintende?) è che la classe A deve per forza avere il costruttore senza argomenti, altrimenti la classe B non può essere de-serializzata.

Io in effetti non ci pensavo e ci sono arrivato facendo delle prove. Avevo messo in una superclasse un solo costruttore con dei parametri. A run time, de-serializzando la sottoclasse, mi generava una eccezione del tipo:
java.io.InvalidClassException: sottoclasse; no valid constructor

Mi confermate? ;)

sottovento
07-03-2006, 07:45
Confermo

Se non fosse cosi', non Java non saprebbe quale costruttore usare, e con quali parametri. Un po' come quando carichi dinamicamente le classi...

High Flying
Sottovento

andbin
07-03-2006, 08:58
ConfermoGrazie a te di nuovo!