Serialização de classes com escopo privado

2 respostas
kmagnani

Tenho o seguinte cenário:

  • interface A;
  • classe B que implementa A;
  • classe BFactory que retorna instâncias da classe B;
  • a classe B é interna a BFactory;
  • o método de BFactory que retorna objetos do tipo B possui como tipo de retorno A.

No código, eu obtenho um objeto de B por meio de BFactory, e então serializo este objeto. Até aí, tudo bem. O problema é que na hora de desserializar, tenho que fazer o type cast em readObject de ObjectInputStream. Se coloco A, o compilador reclama que A é uma interface, e por isso não dá para reconstituir o objeto (o que faz muito sentido). Se coloco o nome da classe, B no caso, ele diz que ela não está visível.

Alguem tem alguma idéia de como resolver isto?

2 Respostas

mister_m

Pelo contrário, isso que você escreveu não faz sentido. Você pode postar a mensagem de erro emitada pelo compilador nessa situação?

kmagnani

Oops… Eu estava me esquecendo de um detalhe… Agora deu certo. Valeu!

Criado 6 de abril de 2005
Ultima resposta 6 de abr. de 2005
Respostas 2
Participantes 2