Eis um exemplo para você ver, na prática, como é a tal da Serialização de objetos.
importjava.io.*;classCarimplementsSerializable{}classFordextendsCar{}classTesteSerializacao{publicstaticvoidmain(String[]args)throwsException{ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("objeto.binario"));Carcar=newFord();oos.writeObject(car);oos.close();ObjectInputStreamois=newObjectInputStream(newFileInputStream("objeto.binario"));CarmeuCarro=(Car)ois.readObject();oos.close();System.out.println("Classe do objeto lido : "+meuCarro.getClass().getName());}}
LPJava
alberto_ribeiro:
Segue a pergunta:
Class Car implements Serializable{ }
Class Ford extends Car{ }
Caso você tente serializar uma instância Ford, atual será o resultado?
A ? Ocorrerá erro de compilação.
B ? Nenhum objeto será serializado
C ? Dois objetos serão serializados.
D ? Uma exceção será lançada, em tempo de execução.
[]'s
dois objetos sera serializado…
Regra - se sua superclass implements serializable entao todas as subclasses tb será… serializable ja que a subclass é filho… da super entao tudo que a pai… faz a sub tb faz… por isso… o inverso seria apenas 1 objeto serializado.
alberto_ribeiro
a resposta é B… nao sei porque…
R
RafaelVS
acho que o thingol observou bem… tem 2 opções de resposta:
ou dá erro de compilação (se a questão original define a classe com “Class” ao invés de “class”).
ou então apenas um objeto será serializado (e, no caso, não teria nenhuma resposta pra marcar).
alberto_ribeiro
mais por exemplo se você serializar Ford somente ele será serializado porque dentro de Ford não tem nenhuma instancia de Car, certo ???
esse class é erro de digitação, desculpe - me…
eu achava que essa seria 2 objetos…
Omeganosferatu
De onde voce tirou essa questao ?
alberto_ribeiro
esse aqui:
Livro Certificação Java 5 guia preparatório Exame CX-310-055
Roberto Rubinstein Serson
LPJava
olha o que eu conseguir deduzir do livro da kathy…
se sua class PAI, implementar Serializable então a sua subclasse implicitamente já faz serializable.
Agora se sua classe PAI, não implementa Serializable e sua subclasse implementa então apenas os objetos da sua subclasse vamos serializar o da class PAI infelizmente terá seus valores iniciais ou padrão
alberto_ribeiro
Entao CamiloLopes isso já é entendido, porém a duvida naquela pergunta é quantos objetos serão serealizados quando uma instancia de Ford for serealizada ? e não quantos objetos são serializable…
[]'s
LPJava
eu marcaria letra C.
alberto_ribeiro
eu tb havia pensado nessa… mas pelo que o thingol falou é 1 apenas e nao tem a resposta
glaucioguerra
alberto_ribeiro:
a resposta é B… nao sei porque…
E qual foi a explicação que o autor deu? Simplesmente disse letra B e pronto? Geralmente eles dizem o porquê da resposta.
Um abraço!
alberto_ribeiro
Então eu peguei no livro e ele dizia a mesma coisa que o camilolopes disse: Quando uma super classe é serializable e alguma classe extends ela as duas são serializable… essa explicação do livro está certa, porém, acho que não condiz com a resposta.