GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Uso do "this" sozinho


#1

Bom, já estou careca de saber como usar o this para chamar outros construtores da classe quando a quantidade de argumentos e o tipo deles “batem” - como, por exemplo: this(a, b, c, d); e também como usar o this para diferenciar um atributo que vem como argumento do método de um atributo da instância da própria classe que tenham o mesmo nome (que é o caso dos setters), por exemplo: this.nome = nome;

Mas para que serve o this quando ele é usado sozinho, como no exemplo de quando a gente sobrescreve o método equals no eclipse? Eu procurei no Google inteiro e não achei exemplos nem explicação sobre isso.

@Override
public boolean equals(Object obj) {
	if (**this** == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Produto other = (Produto) obj;
	if (id == null) {
		if (other.id != null)
			return false;
	} else if (!id.equals(other.id))
		return false;
	return true;
}

#2

O this, nesse caso, referencia a instância completa do objeto, não só um dos seus parâmetros. Fica mais claro se você executar esse código pra ver o que acontece: https://ideone.com/r83Tok .

Abraço.