Salut
Je récupère une chaîne de caractères (depuis une DB) de la forme
et je dois instancier "Classe" et faire un setter avec "blabla".
Code : Sélectionner tout - Visualiser dans une fenêtre à part pack.age.Classe:blabla
Ça marche bien. Mais j'ai un problème quand ma classe est une sous classe, par exemple pack.age.ClasseA$ClasseB.
Le code suivant :jette une java.lang.InstantiationException.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Class cl = Class.forName("pack.age.ClasseA$ClasseB"); Object obj = cl.newInstance();
Celui cijette une NoSuchMethodException avec pour message pack.age.ClasseA$ClasseB.<init>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Class cl = Class.forName("pack.age.ClasseA$ClasseB"); Constructor construct = cl.getConstructor(new Class[] {}); construct.setAccessible(true); Object obj = construct.newInstance(new Object[] {});
Si je suis contraint à supprimer toutes mes sous-classes, ça m'embête un peu. Ma sous-classe est public, le constructeur (public lui aussi) n'a aucun paramètre.
Quelqu'un a-t'il déjà instancié une sous-classe à la volée ? Et comment ?
Merci d'avance !
Partager