Pseudo-variavel this

Olá,

Estou iniciando no java e tenho uma dúvida.

Como estou vindo do PHP quando eu tento acessar, no PHP, um método de uma classe de dentro da propria classe, eu preciso usar
a pseudo variavel $this para isto. exemplo: $this->meuMétodo(), já no java, pelo menos criando código pelo NetBeans, eu percebi
a ausencia dessa variavel.

um exemplo é o método construtor de um JFrame qualquer criado pelo netbeans, ele cria assim:

public Qualquer() {
       initComponents(); // chamada do método interno da classe sem a variavel this (pra mim, o correto seria: this.initComponents())
}

Só que , parece que a variavel this existe também, só que não entendo porque nao é utilizada nesse caso. Eu já andei programando um pouco
em C# e VB.NET e lá também é como no PHP.

Alguém pode me explicar sobre isso?

Nesse caso, de qualquer forma o código está correto, com ou sem o this.

O this pode ser usado quando pode haver conflito com nomes de variáveis externas, exemplo:

String nome; //... Outros métodos... public void setNome(String nome) { this.nome = nome; }

Ou também quando você deve passar a si mesmo como parâmetro para algum método:

Arquivo.gravar(this);

Se não me engano ainda existe outro caso para utilização do this, mas não consigo lembrar agora. :roll:

Feito? :wink:

Opa obrigado pelo esclarecimento

Tanto no C# quanto no VB.net também não é obrigatório usar o this. Só quando há ambiguidade.

Ele eh usado para referenciar um método local , ou simplesmente para diferenciar variáveis após o sombreamento .