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

Uso do This

Vi que o Eclipse não gera o this.atributo nos getters, porém nos métodos apresentados tem this? Qual é a regra?

Ex.: @Override public int hashCode() { return this.nome.hashCode(); }

2 respostas
solução!

Olá Fabio, tudo bem com você?

Na verdade, não precisamos colocar o this em nenhum dos dois casos. Só precisamos declarar explicitamente o this antes de um membro quando estamos recebendo um parâmetro com o mesmo nome. Como tanto no caso dos getters, quanto no caso do hashCode(), está claro que estamos nos referindo a um atributo que pertence ao próprio objeto, não precisamos colocar o this. Ou seja, o Paulo colocou ele apenas para deixar mais claro que nome.hashCode() se refere ao próprio objeto.

Diferente dos setters que geralmente recebem um parâmetro com o mesmo nome do atributo e que, portanto, precisam do this para que a JVM consiga diferenciar qual é qual:

public void setNome(String nome) {
    this.nome = nome;
}

Espero ter ajudado. Qualquer dúvida é só avisar!

Abraços e bons estudos!!

Valeu. Obrigado.

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