THIS ou SUPER (Looping infinito)

Não entendi o porque se utilizar: return this.aplicaDescontoDe gera looping infinito, favor me tirar essa dúvida, é o que esta disposto na pagina 80 do livro: Desbravando Java e Orientação a Objetos - Um guia para o iniciante da linguagem.

Olá Luciono,

Isso acontece porque quando usas o this, estás a referir-me ao mesmo método.

public void meuMetodo() {
    this.meuMetodo();
}

Toda vez que chamar meuMetodo(), ele irá invocar ele mesmo e quando invocar ele mesmo, vai voltar a invocar ele mesmo :slight_smile: e assim sucessivamente.

Enquanto que, ao usar o super, estás a referir-se ao método da classe Pai e não da classe Filha.

abs

1 curtida

Perfeito! Ótima explicação.