Polimorfismo  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Duque
JavaEvangelist

Membro desde: 06/05/2003 11:50:32
Mensagens: 340
Offline



pessoal, vcs poderiam me explicar o resultado dessa questão...porque que o metodo executado no construtor da classe pai..executa o metodo da classe filha....??

Obrigado.
ana_abrantes
JavaGuru
[Avatar]

Membro desde: 29/08/2003 15:44:09
Mensagens: 238
Localização: São Paulo
Offline

Porque métodos sobrescritos(override) são resolvidos em tempo de execução.
O que vale é o tipo do objeto e não a sua referência nessa hora.
Como você tem o método showDevice nas 2 classes e o objeto que está chamando este método é do tipo Mobile, então Mobile.showDevice() é o que vai ser executado.

Ana

SCJP 1.4 - SCWCD 1.4
Duque
JavaEvangelist

Membro desde: 06/05/2003 11:50:32
Mensagens: 340
Offline

ana , somente fazendo um comentário.. metodos "sobrepostos" , seriam overloading e não overrinding....(substituído..)....

seguinte ana....isso eu até entendo...o problema..e que eu achava que quando o construtor da subclasse fosse executado...antes ele passaria para o construtor da superclasse e chamaria o metodo "showdevice()"



mas to vendo que isso nao aconteceu..mas eu ainda penso que ele deveria fazerisso..hehe...vou ter que dar mais uma estudada....


ana_abrantes
JavaGuru
[Avatar]

Membro desde: 29/08/2003 15:44:09
Mensagens: 238
Localização: São Paulo
Offline

Duque wrote:ana , somente fazendo um comentário.. metodos "sobrepostos" , seriam overloading e não overrinding....(substituído..)....

Não foi isso que eu disse! Ou pelo menos não quis dizer, desculpa.
Não sei qual é a tradução correta para override, por isso coloquei o termo em inglês entre parênteses.

Duque wrote:seguinte ana....isso eu até entendo...o problema..e que eu achava que quando o construtor da subclasse fosse executado...antes ele passaria para o construtor da superclasse e chamaria o metodo "showdevice()"

O construtor de uma classe sempre chama o construtor da superclasse.
Acontece que no construtor da superclasse tem uma chamada a um método que foi feito um override na subclasse, portanto é o método da subclasse que é executado.

Ana

SCJP 1.4 - SCWCD 1.4
Duque
JavaEvangelist

Membro desde: 06/05/2003 11:50:32
Mensagens: 340
Offline

ta certo..beleza...entendi...

eu vou fazer alguns testes por aqui....

obrigado....

viu..aproveintando...que vc fez a prova agora....

conta para nos..como foram as questoes de inner classes e collections se vc lembrar...

obrigado.
ana_abrantes
JavaGuru
[Avatar]

Membro desde: 29/08/2003 15:44:09
Mensagens: 238
Localização: São Paulo
Offline

Eu estou colocando algumas das questões que caíram no meu exame aqui no fórum desde ontem...
Amanhã eu coloco mais algumas.

Ana

SCJP 1.4 - SCWCD 1.4
Rodrigo Vieira Pinto
JavaEvangelist
[Avatar]

Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline

Overloaded -> sobrecarregado
Overriding -> sobreescrito

"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna

"Eu vou dá 10 pau!!" - Aracy de Almeida

Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)

"Bem, dizia eu que a aritmética..." - Prof. Girafales

 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team