Gostaria de saber se existe alguma forma de descompilar uma classe e sua classe interna. Ja testei o Dj mas ele não esta descompilando a classe interna. Será que é algum parametro que eu devo passar para o descompilador ou sera que não é possíve.
vc está falando dos bytecodes? quebrar os bytecodes?
T
thingol
Digamos que você tenha o seguinte código:
importjava.util.*;/** * Grave este programa no arquivo TesteInnerClass.java * Compile este programa * Os seguintes arquivos devem ser criados: * TesteInnerClass.class * TesteInnerClass$1.class * TesteInnerClass$Classe1.class */classTesteInnerClass{classClasse1{intx=0;publicvoidmetodo1(){x=2;}}publicstaticvoidmain(String[]args){SortedSetalunos=newTreeSet(newComparator(){publicintcompare(Objectobj1,Objectobj2){return0;}});}}
Este código tem uma “inner class” chamada Classe1, e uma “anonymous inner class” que foi construída quando usamos essa
construção “new Comparator() {”.
As inner classes com nomes normalmente têm um nome composto pela classe externa (nesse caso “TesteInnerClass”), um cifrão ($), e o nome dela (nesse caso “Classe1”.) Então o nome completo da classe é TesteInnerClass$Classe1, e para você descompilar a classe, precisa descompilar também “TesteInnerClass$Classe1.class”.
As anonymous inner classes normalmente têm um nome composto pela classe externa (nesse caso “TesteInnerClass”), um cifrão ($), e um número seqüencial que começa por 1. Nesse exemplo, a classe anônima que implementa Comparator se chama TesteInnerClass$1".