Em Java, this é uma palavra-chave que se refere à instância atual da classe em que está sendo usada.
this é usada para distinguir entre os atributos de instância e os parâmetros de método ou construtor quando eles têm o mesmo nome. Basicamente, this permite acessar os membros da instância atual da classe.
A palavra-chave this pode ser usada em diversos contextos:
Acesso a atributos de Instância: Quando um atributo de instância tem o mesmo nome de um parâmetro de método ou construtor, this é usado para diferenciar entre eles. Isso é útil para evitar ambiguidades. Este motivo é o utilizado nesta disciplina.
Chamada de Construtores: É possível chamar outro construtor da mesma classe usando this(). Isso é chamado de construtor chaining (encadeamento de construtores).
Retorno da Própria Instância: Em métodos de instância, você pode usar this para retornar a própria instância da classe, o que permite fazer chamadas encadeadas (chaining).
*Chaining é um conceito não estudado nesta disciplina.
Neste exemplo, this é usado para se referir aos atributos de instância nome na classe Pessoa, permitindo diferenciar entre o parâmetro do construtor e o atributo de instância.
public class Pessoa {
private String nome;
public Pessoa(String nome) {
this.nome = nome;
}
public void saudacao() {
System.out.println("Olá, meu nome é " + this.nome);
}
public void alterarNome(String nome) {
this.nome = nome;
}
public static void main(String[] args) {
Pessoa pessoa1 = new Pessoa("Alice");
Pessoa pessoa2 = new Pessoa("Bob");
pessoa1.saudacao(); // Saída: Olá, meu nome é Alice
pessoa2.saudacao(); // Saída: Olá, meu nome é Bob
pessoa1.alterarNome("Carol");
pessoa1.saudacao(); // Saída: Olá, meu nome é Carol
}
}