NomeDaClasse.this [RESOLVIDO]  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
TiagoTC
JavaTeenager

Membro desde: 09/02/2008 01:12:58
Mensagens: 189
Offline

Alguém pode me explicar como a chamada "NomeDaClasse.this..." funciona? Por exemplo, no código abaixo:



Eu não entendo o que ocorre exatamente na chamada "Car.this.drive()"...

This message was edited 1 time. Last update was at 02/02/2010 10:15:44


Pérola: "Nunca coloque seu celular em um forno de microondas, pois isso faz com que a bateria exploda" - Manuais de telefones celulares
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

a instrução NomeDaClasse.this quer dizer que vc poderá acessar um membro ou método da instancia atual da sua classe....
TiagoTC
JavaTeenager

Membro desde: 09/02/2008 01:12:58
Mensagens: 189
Offline

vmsb11 wrote:a instrução NomeDaClasse.this quer dizer que vc poderá acessar um membro ou método da instancia atual da sua classe....


Ainda não entendi direito vmsb11... Tipo, o Car referencia a classe. E Car.this ? O que isso significa exatamente?

This message was edited 1 time. Last update was at 01/02/2010 22:40:07


Pérola: "Nunca coloque seu celular em um forno de microondas, pois isso faz com que a bateria exploda" - Manuais de telefones celulares
evertonsilvagomesjava
GUJ Master
[Avatar]

Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline

Thiago fiz uma pequena mudança pra vc entender melhor olha só:



Como dentro de um método statico temos que instanciar dessa forma a InnerClass:



E nesse caso:


ok?

This message was edited 3 times. Last update was at 01/02/2010 23:12:38

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline

Presta atenção no que ocorre:



Note que na classe motor, se usassemos só this, estariamos falando do this do motor. Usar Carro.this, faz com que eu veja o this do carro. Por isso, essa notação só faz sentido no texto de uma classe interna, querendo acessar o this da externa que a agrega. E, claro, essa classe interna não pode ser estática.

This message was edited 6 times. Last update was at 02/02/2010 08:40:19


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
TiagoTC
JavaTeenager

Membro desde: 09/02/2008 01:12:58
Mensagens: 189
Offline

humm, perfeito! Agora eu entendi!

Muito obrigado!!!

Pérola: "Nunca coloque seu celular em um forno de microondas, pois isso faz com que a bateria exploda" - Manuais de telefones celulares
lina
Moderador
[Avatar]

Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline

Oi,

Você pode adotar this como uma referencia de sua janela ou classe.

Carro.this -> Ou seja, você está utilizando uma referencia da classe carro.

Tchauzin!

Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java

Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]

@gujgirl

http://www.restartfans.hdfree.com.br

Meu blog:

http://www.runthecode.wordpress.com

Tchauzin!
[Email]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team