Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Método toString()

No momento da iteração no ArrayList quando executamos o sysout no elemento que é do tipo Object ele utilizou o método da classe mais específica toString() ContaCorrente, não deveria executar o método toString() da classe Object ?

3 respostas
solução!

Boa tarde Rodrigo,

Então, a partir do momento que você sobrescreve o método da classe Object, ele não é mais utilizado, caso você não tenha o toString() em sua classe ContaCorrente, ele chamaria o da classe Object que é mais genérico.

Rodrigo, se você quisesse chamar o toString() da classe Object, você teria que fazer a chamada explícita a ele dentro do toString() da classe ContaCorrente.

Por exemplo:

public class ContaCorrente {

    //código do construtor e outros métodos

    @Override
    public String toString() {
        return super.toString() + "texto da classe Conta Corrente";
    }

}

Se você sobrescreve o método da classe, o método da classe filha que é mais específico é o que será chamado. Para utilizar o método toString da classe pai você têm que usar a palavra reservada super.

super.toString();

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software