Quando as variaveis tem nomes diferentes, ai não precisa de usar o this.
Mas quando existe duas variáveis com o mesmo nome, para distinguir qual é a variável externa e qual é a variável interna usa-se o this para referenciar a variável externa…
Assim o this.cpf se refere ao cpf private String cpf
Nesse exemplo (igual ao seu), usa-se o this para indicar que deve-se atribuir ao campo [color=red]cpf[/color] da classe Teste o valor de [color=blue]cpf[/color] que é parâmetro do método setCpf. Como o Netuno disse, se fossem variáveis com nomes diferentes não seria necessário utilizar o this. O this nesse caso se faz necessário pois as variáveis tem o mesmo nome. Isso ai é conhecido com shadowing, ou seja, vc “sombreia” a variável de escopo de instância ou de classe com a variável de escopo do método.
Como falei, o this sempre e usado para fazer referência explícita a algum membro da classe.
Até mais!
spycall
ele referencia a própria classe, por exemplo:
privateStringnome;publicStringgetNome(){returnthis.nome;}publicvoidsetNome(Stringnome){this.nome=nome;// repare que vc tem 2 variaveis com o mesmo nome, só que uma pertence ao metodo e a outra a classe}
se vc tem um metodo que recebe como parametro um objeto, e nesse objeto vc chama esse metodo vc passa this;
this é uma referência à instancia atual do objeto e, com ela, vc consegue acessar atributos e, também, métodos. this não funciona sobre atributos estáticos (pra isso vc utiliza o nome da classe), muito menos vc pode utiliza-lo em métodos estaticos (afinal eles não estão no contexto de instância). seria um erro tentar usar this a partir do método main, por exemplo.
this também pode ser utilizado para chamar o construtor da sua classe
public class A{
String name;
public A(String name){
this.name = name; // isso vc conhece
}
public A(){
this("?"); // chama o construtor acima !
}
}
H
Hahu
Amigos,
Agradeço por mtos de vcs responderem a minha dúvida!
Nossa…graças a vcs e consegui resolver está questão…obrigado!