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 ?
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.