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

Mesmo resultado com "this" e sem "this"

Olá pessoal, dúvida simples. Por gentileza, o console deu o mesmo resultado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Eu achei que seria obrigatório o uso do "this". Por que funciona sem ele?

2 respostas
solução!

Oii Ian! Tudo bem?

O this é um operador que nos ajuda a lidar com o escopo das variáveis. Vamos supor que tivéssemos um método com parâmetro nome, mas também temos um atributo chamado nome na nossa classe. Um exemplo disso são os setters e construtores, como em:

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

Repara que temos duas coisas iguais, então estamos dizendo para o compilador que o nome referente a esta classe está recebendo o valor do nome passado no parâmetro do método. Se tirássemos o this, ficaria assim:

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

Se nós mesmos podemos nos confundir, então imagina como o compilador lidaria com isso... hahaha Por isso usamos o this. Nesse caso que você exemplificou, não havia nenhum lugar em que pudesse haver alguma confusão com nomes e escopos, por isso não deu erro. Mas é melhor usar, pensando em boas práticas.

Espero ter ajudado! Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Iasmin, bom dia! Muito obrigado pela explicação viu? Compreendi perfeitamente. :D

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