3
respostas

Como o Java sabe que quando colocamos super.toString() ele deve procurar na classe Conta e não na Classe Object?

A palavra reservada "super" faz referencia a classe acima na hierarquia, então levando em conta que a Classe Object está acima de Conta na hierarquia, quando declaramos no código da classe ContaCorrente o método "super.toString()" como o Java decide que ele irá trazer o metodo toString() da classe Conta, e não o metodo toString da classe Object em si? Já que informamos o "super." ele não deveria buscar o que está mais acima na hierarquia?

3 respostas

Oie José, tudo bem contigo?

O super pega a implementação, se houver, da classe mais próxima hierarquicamente.

Portanto, se por exemplo a classe "Conta" não fizer a sobrescrita do "toString()", a classe "ContaCorrente" pegaria o "toString()" da classe "Object". Agora se a sobrescrita for feita na classe "Conta", a classe filha "ContaCorrente" irá pegar essa sobrescrita, já que hierarquicamente a classe "Conta" é mais proxima dela.

Ficou mais claro agora?

Espero ter conseguido ajudar!

Se tiver qualquer outra dúvida estarei por aqui :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Entendi sim, muito obrigado!