Fala meu caro, tudo bem?
O uso da palavra chave "this" é utilizado para a atribuição de valores. Quando recebemos um parâmetro em nosso construtor que possui o mesmo nome de alguma das nossas variáveis locais e realizamos uma atribuição como "nome = nome;", o sistema entende que estamos atribuindo o valor do parâmetro à ele mesmo. Sendo assim, algumas IDE's nos darão até algumas sugestões, pois entendem que o valor do parâmetro nome está sendo atribuído à ele mesmo. É como se fosse o seguinte:
public class Produto {
private String nome;
private double preco;
public Produto(String "Henzo", double 15.50) {
Henzo = Henzo;
15.50 = 15.50;
}
}
Agora com o uso da palavra-chave "this", obtemos o seguinte código:
public class Produto {
private String nome;
private double preco;
public Produto(String "Henzo", double 15.50) {
this.nome = Henzo;
this.preco = 15.50;
}
//implementado getters e toString() nas outras linhas...
}
Com isto, se instanciarmos um objeto do tipo produto dentro da nossa classe principal e printarmos ele, obteríamos algo como isto:
Produto produto = new Produto("Henzo", 15.50);
System.out.println(produto);
//saída:
Produto: nome = Henzo
preco = 15.50