Não consegui compreender 100% a referência this, alguem poderia me explicar mais detalhadamente por gentileza?
Não consegui compreender 100% a referência this, alguem poderia me explicar mais detalhadamente por gentileza?
Boa noite, Mateus! Como vai?
Vc pode entender o this
como uma referência para si mesmo.
Exemplo prático:
public class Visitante {
private String nome;
public String setNome(String nome) {
this.nome = nome;
}
}
Veja essa classe Visitante
. Vc deve ter aprendido que uma classe apenas representa uma forma para criação de objetos, ou seja, todo objeto criado a partir daquela classe irá seguir as regras definidas nela.
Então, lá vou eu criar um objeto da classe Visitante
e adicionar um nome nele:
Visitante v = new Visitante();
v.setNome("Gabriel Leite");
Perfeito! Criei o meu visitante e dei a ele o nome "Gabriel Leite"! No entanto, repare no código que está dentro do método setNome()
. Lá dentro eu tenho um this.nome = nome;
. O this
está fazendo referência ao objeto que chamou o método setNome()
, ou seja, nesse caso, está fazendo referência ao mesmo objeto que está sendo referenciado por v
!
Vc pode entender da seguinte forma: o objeto referenciado por v
recebeu um nome através do método setNome()
, e viu que deveria pegar o valor "Gabriel Leite" e atribuir ao atributo nome
que ele tem definido dentro dele mesmo. Por isso que no início eu disse que o this
pode ser entendido como uma referência pra si mesmo, pq fará o objeto olhar para o seu conjunto de propriedades e métodos que tem definidos dentro dele.
Ficou claro?
Qualquer coisa é só falar!
Grande abraço e bons estudos!
Valeu mais uma vez pela reposta Gabriel, fico muito grato! Você tirou a minha dúvida.
Por nada, Mateus!
Grande abraço e bons estudos!