se alguém puder me ajudar gostaria de saber um pouco mais sobre o uso do this no código
This
6 Respostas
o this se refere à uma instância da classe em questão (corrigido). então, por exemplo, vamos supor que vc tem o atributo String nome e quer fazer um setNome.
então vc poderia fazer o seguinte:
public class Usuario
{
private String nome;
public void setNome(String nome)
{
this.nome = nome;
}
}
Dessa maneira, você está dizendo ao compilador:
“Hey, compilador, eu sei que eu já tenho uma variável nome. mas veja bem, uma é local (do método setNome) e a outra é o atributo da minha classe (this.nome), tá?”
Além disso, quando você faz uma chamada de um método da sua classe nela mesma, tipo, um método validaDados() o compilador assume que ele é da mesma classe. entao a chamada validaDados(); é a mesma coisa que this.validaDados(); embora não seja recomendável (corrigido)
faz um teste ai…
[]s
chambs
Cara, isto não está certo. this refere-se a uma INSTÂNCIA da classe em questão.
Desta forma, você tem acesso a qualquer propriedade (variáveis, constantes etc) e método de instancia e classe. As propiedades e métodos de classe não são ecomendados acessar por THIS, apenas por motivo lógico, já que THIS refere-se a instância propriamente dita, acessar um conteúdo de classe não faz sentido (não que não funcione).
[]'s
é verdade!!! vc tem toda razão!!!
grande abraço,
chambs
chambs, mas ha uma diferenca enorme entre classe e instancia nesse ponto. Foi bom o michel ter questionado!
Mas sem stress 
Rafael
ah sim! quanto a isso, não há o que falar.
valeu pela correção!
Olá
Chambs, não se trata apenas de contestar. É preciso cuidado com o uso errado dos termos porque senão o cara que está iniciando não sedimentará seus conceitos.
Para você ver como é perigoso misturar os conceitos de classe com objeto veja a pergunta que foi feita em um teste de admissão em uma empresa de SP:
Qual o método que se usa para converter uma classe para uma string?
(O idiota que escreveu isto esperava um candidato mais idiota ainda)
Guardo esta pérola comigo há uns 2 anos e aqui mesmo no GUJ o amigo Flin sabe qual foi a empresa que escreveu esta pergunta imbecil.
[]s
Luca