Como serializar uma superclasse?

Oi,

gostaria de saber como faço para serializar uma superclasse desde a subclasse.
A subclasse chama um método da superclasse, mas eu gostaria de serializar essa superclasse antes de chamar esse método.

A superclasse tem construtor default que inicializa os atributos.

Pensei em algo assim:
criar um método writeObject na subclasse:

private void writeObject(ObjectOutputStream stream)  throws IOException {
     stream.defaultWriteObject();
     stream.writeObject(new ClassePai());
}

Está certo isso?
Se sim, como fazer como que ele serialize primeiro?

Obrigado

Use: super.writeObject(stream);

ViniGodoy ,

não entendi. Minha super classe não tem o método writeObject.
eu tentei o código que coloquei antes, mas deu erro de

java.io.NotSerializableException na classe que quero serializar manualmente.

na linha stream.writeObject(new ClassePai());

como eu poderia serializar a superclasse?

Se não tem, você terá que serializar campo a campo, manualmente. Lembre-se que os campos da superclasse são acessíveis da subclasse.

Se os campos não forem conhecidos de você, ou se ela não deixa isso possível você tem duas alternativas:
a) Forçar que isso seja possível através de reflexão;
b) Não serializar.

poderia me dar um exemplo de como eu poderia fazer isso com reflection?

Não é trivial. Melhor procurar material sobre reflexão e estudar.

Ok ViniGodoy, obrigado.

Eu serializei cada campo da minha classe pai e passou, mas depois ele reclamou que não está serializada uma outra classe que é usada pela pai.

Ai, já não sei como fazer.