Teste de Certificação  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Ping
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2003 10:52:52
Mensagens: 687
Offline



Com base no código acima, qual será a saída (e porque) das linhas abaixo

[ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

"Horse eating hay". Agora, eu pergunto: pq?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Horse eanting hay


Pois o método foi sobreescrito da classe Animal na classe Horse. E a variável de referência "a" está fazendo referência a uma instância de Horse.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
LecaDF
Thread.start()
[Avatar]

Membro desde: 25/04/2003 14:08:45
Mensagens: 40
Localização: Brasília - DF
Offline

A saída será Horse eanting hay, por que como Horse é uma especialização de Animal, qualquer chamada do tipo:
como a classe Horse redefiniu o método eat() de Animal, a JVM sempre executara o método eat() de Horse, desde que o método não seja estático. Esta comportamento pode é uma característica do polimorfismo. Isto é chamado de Dynamic Binding. O que é Polimorfismo.

Alessandro

"Aquele que faz uma pergunta é um tolo por cinco minutos; aquele que não faz permanece tolo para sempre"[Provérbio Chinês]
[ICQ]
thiago_varella
HelloWorld

Membro desde: 25/11/2003 10:20:02
Mensagens: 10
Localização: Santos
Offline

tente usar

Animal a = new Horse();

a.eat("batata");
[Email]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team