Serializable

13 respostas
Rondynely
  1. class Car implements Serializable{}
  2. class Ford extends Car{}

se eu tentar serializar uma instancia de Ford, quantos objetos serao serializados?
se alguem poder explicar a resposta seria de grande ajuda, desde ja agradeço as respostas.

13 Respostas

viniciusalvess

sim , será serializado pelo princípio de herança é um (IS A)

Rondynely

correto, mas quantos objetos teriam sido serializados?, um da instância Ford ou 2 contando com Car?

viniciusalvess

a instancia que escrever com ObjectOutputStream.write()

Rondynely

Amigo, a resposta seria nenhum objeto será serializado, por isso q eu queria saber o motivo, pq eu tbm acreditava q a instacia de Ford seria serializado entao a resposta um objeto, mas nao, entendeu minha duvida?

clunsde

Se o pai é Serializable, todos os filhos serão.

Só um.

Rondynely

clunsde:
Se o pai é Serializable, todos os filhos serão.

Só um.

Amigo, a resposta seria nenhum objeto será serializado, por isso q eu queria saber o motivo, pq eu tbm acreditava q a instacia de Ford seria serializado entao a resposta um objeto, mas nao, entendeu minha duvida?

clunsde

Nenhum?

Não cara, tu esta fazendo algo errado.

Mostra o código, que ai terei como te ajudar.

Rondynely

clunsde:
Nenhum?

Não cara, tu esta fazendo algo errado.

Mostra o código, que ai terei como te ajudar.


isso é uma questão de certificação, é so isso a questao, e a resposta é 0. confuso né?

clunsde

Não é confuso, a questão está errada, ou você interpretou errado.

Acabei de fazer o teste aqui, e serializou o objeto.

abraços

Rondynely

clunsde:
Rondynely:

isso é uma questão de certificação, é so isso a questao, e a resposta é 0. confuso né?

Não é confuso, a questão está errada, ou você interpretou errado.

Acabei de fazer o teste aqui, e serializou o objeto.

abraços


espero q a questao esteja errada mesmo, pq ai eu estaria certo…rsrsrs, mas se esta, logo abaixo desta questao tem outra, da uma olhada e quase idêntica:

  1. class Car implements Serializable{
  2. Wheels w;
  3. }
  4. class Wheels{}
    Caso vc tente serializa uma instancia de Car, qual será o resultado?
    A. Erro de Compilação
    B. Um objeto sera serializado
    C. Dois objetos serao serializado
    D. Exceção em tempo de execução
clunsde

Desse jeito ai, irá serializar um objeto.

Primeiro, Wheels é null, ou seja, não há o que serializar.
Caso Wheels fosse diferente de null, daria Exceção em tempo de execução.

binhole

Pessoal, bom eu acredito que tem um pequeno erro ai:

No primeiro exemplo dado:

10. class Car implements Serializable{} 
11. 
12. class Ford extends Car{}

De fato não teremos problemas na serialização já que ford “IS A” Car e esta classe implementa a interface Serializable! portanto qualquer objeto pode ser serializado os os 02, pois Ford implementa também a interface Serializable através da herança.

Mas o ultimo código abaixo apresenta uma exception não identificada(em tempo de execução)

10. class Car implements Serializable{ 
11. Wheels w; 
12. } 
13. 
14. class Wheels{}

Este exemplo é diferente do outro, aqui a Classe Car “HAS A” a Wheels ou seja a classe Car tem Wheels, portanto teremos um erro na execução do método writeObject() no momento em tenta serializar, já que Whells não implementa a interface Serializable.

java.io.NotSerializableException: Defaut.Car
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
Rondynely

binhole:
Pessoal, bom eu acredito que tem um pequeno erro ai:

No primeiro exemplo dado:

10. class Car implements Serializable{} 
11. 
12. class Ford extends Car{}

De fato não teremos problemas na serialização já que ford “IS A” Car e esta classe implementa a interface Serializable! portanto qualquer objeto pode ser serializado os os 02, pois Ford implementa também a interface Serializable através da herança.

Mas o ultimo código abaixo apresenta uma exception não identificada(em tempo de execução)

10. class Car implements Serializable{ 
11. Wheels w; 
12. } 
13. 
14. class Wheels{}

Este exemplo é diferente do outro, aqui a Classe Car “HAS A” a Wheels ou seja a classe Car tem Wheels, portanto teremos um erro na execução do método writeObject() no momento em tenta serializar, já que Whells não implementa a interface Serializable.

java.io.NotSerializableException: Defaut.Car
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)

Não causara erros ou exceções nesse fragmento de código, visto que a instancia wheels nao é inicializada, o código compila e um objeto é serializado, caso a instancia de weels estivesse sido iniciado então causaria NotSerializableException.

Criado 3 de junho de 2011
Ultima resposta 6 de jul. de 2011
Respostas 13
Participantes 4