I'm sorry, I was a little hasty. There is a sort of a problem, in that the "A" parts of a B object won't be serialized, and therefore a deserialized "B" object will have "value" equal to null unless you do something special. You can deal with this by writing a writeObject() and readObject() method, something like
If you don't have access to the superclass members, and if there's no init() sort of method you can use to initialize the superclass, then there's more trouble.