"Classes enclossing"

2 respostas
B

peguei um código com um amigo meu para estudar algumas questões e me deparei com o seguinte:
em um pacote existem 3 classes “diferentes”
assinaturas:

class FormPrinc extends JFrame { /* implementação*/ } class FormPrinc$1 extends Thread { /* implementação*/ } class FormPrinc$2 extends Thread { /* implementação*/ }

em determinado ponto do código da classe FormPrinc ele executa o seguinte código dentro de um método:

final FormPrinc this$0;
   {
       this$0 = FormPrinc.this;
       super();
   }

nunca vi nada parecido, alguém sabe dar uma explicação sobre algo do tipo ou apontar algum material?
obrigado

2 Respostas

Marky.Vasconcelos

Isso tem cara de ser código descompilado.

Por que as anonymous class que voce cria é nomeada pelo compilador com esse $.

B

sim, exato…é descompilado, peguei o jar dele…
bah cara…valeu a ajuda, isto já me da uma luz

Editando:
Peguei o seguinte trecho de código sobre classes anônimas código na internet:

Object o = new Object() {  
      public void teste() {  
        System.out.println("teste");  
      }  
    };

apartir do código que coloquei inicialmente, tem como saber qual das classes o this$0 ira invocar?

Criado 17 de julho de 2009
Ultima resposta 17 de jul. de 2009
Respostas 2
Participantes 2