Introspection, classes internes et getEnclosingClass
Bonsoir à tous,
Je cherche un moyen facile et rapide de récupérer par introspection toutes les méthodes, constructeurs et classes internes ainsi que leurs méthodes, constructeurs...... récursivement.
Je sais trouver tout ce qui est dans la classe "primaire" mais je n'arrive même pas à trouver les classes internes.
Mon prof du CNAM nous a dit d'utiliser getEnclosingClass mais je ne comprends pas trop son principe.
Mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public class tryIntrospection {
public static void main(String[] args) throws ClassNotFoundException{
Class<?> classeMonnaie = Class.forName("fr.introspection.Monnaie");
System.out.println("MIKA Nom de la classe : " + classeMonnaie.getSimpleName());
Method[] methodes = classeMonnaie.getDeclaredMethods();
for (Method m : methodes){
System.out.println("Methode de la classe : " + m.getName());
}
Constructor[] constructeurs = classeMonnaie.getConstructors();
for (Constructor c : constructeurs){
System.out.println("Constructeur de la classe : " + c);
}
Class<?> innerClasse = classeMonnaie.getEnclosingClass();
System.out.println("\nNom de la classe interne de Monnaie : " + innerClasse);
}
} |
Le morceau
Code:
1 2
| Class<?> innerClasse = classeMonnaie.getEnclosingClass();
System.out.println("\nNom de la classe interne de Monnaie : " + innerClasse); |
m'affiche
Citation:
Nom de la classe interne Monnaie : null
Moi pas content...:aie:
J'ai beau éplucher les bouquins de java, les cours, écumer le web, je ne trouve pas grand chose sur ce sujet pourtant passionnant :yaisse2:
Merci d'avance à tous ceux qui essaieront de m'aider ou me diriger vers une bonne doc (en français c'est possible ?:D ).