Questão sobre serialização

Pessoal,

Tenho essa questão:

class Mammal{
Mammal(){System.out.print("fur bearing");}
}
class Platypus extends Mammal implements Serializable{
Platypus(){System.out.print("egg laying");}
}

Alguém pode me explicar pq o resultado deu fur bearing ?

em que momento a saida foi fur bearing ?

Quando Platypus for instanciado a saida tem q ser "fur bearing egg laying"
E quando vc deserializar Platypus a saida é “fur bearing”, isso ocorre pq Mammal nao é serializado sendo assim é executado o construtor padrao.

[quote=vdb]em que momento a saida foi fur bearing ?

Quando Platypus for instanciado a saida tem q ser "fur bearing egg laying"
E quando vc deserializar Platypus a saida é “fur bearing”, isso ocorre pq Mammal nao é serializado sendo assim é executado o construtor padrao.[/quote]

Então quando eu implemento o Serializable ele não usa o construtor padrão?

"

Então é por isso que só aparece fur bearing. Pois como a classe Platypus implementa Serializable, ele não vai usar o construtor Platypus()…correto?

"

olá pessoal,

eu vi esse tópico de vcs … e axei bastante interessante …pq a partir das respostas de vcs eu vi q quando eu postei nesse tópico: http://www.guj.com.br/posts/list/107321.java

eu vi q eu estava errado.

Só para entender…

quer dizer q sempre será chamado o construtor default da superclasse, quando a subclasse implementa Serializable ???

Muito Obrigado

Ricardo

Isso mesmo. So nao ira executa-lo se a super classe implementar serializable.