Pelo que li, o compilador enxerga a referência e não a instancia.
Então, não posso fazer:
j.chutar();
...por que jogador não tem o metodo chutar.
Então, para que eu faço isso??
Jogador j = new JogadorFutebol();
Obrigado
Marck
esse codigo nao compila a class Super ela nao tem o metodo da chutar(), e vc tem um objeto j do tipo Jogador e é um objeto da JogadorFutebol qdo vc tem isso quer dizer que vc ta afim de chamar os metodos que foi subscrito da class pai.. mas chutar nao existe na class pai..
Marck
camilolopes:
esse codigo nao compila a class Super ela nao tem o metodo da chutar(), e vc tem um objeto j do tipo Jogador e é um objeto da JogadorFutebol qdo vc tem isso quer dizer que vc ta afim de chamar os metodos que foi subscrito da class pai… mas chutar nao existe na class pai…
Mas não posso fazer direto:
Jogadorj=newJogador();
?
LPJava
pode sim… ele vai chamar o metodo da class jogador…
Jogadoj=newJogador();j.chutar();
Marck
camilolopes:
pode sim… ele vai chamar o metodo da class jogador…
Jogado j = new Jogador();
j.chutar();
No caso, não tem diferença?
Desde já, agradeço.
Rafael_Nunes
Você não pode fazer isso, terá um erro em tempo de compilação porque o Jogador não definiu o método chutar()
shison
Para chamar o chutar você teria de usar um “cast”: