Instanciation d'une sous-classe
Salut
Je récupère une chaîne de caractères (depuis une DB) de la forme
Code:
pack.age.Classe:blabla
et je dois instancier "Classe" et faire un setter avec "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 :
Code:
1 2
| Class cl = Class.forName("pack.age.ClasseA$ClasseB");
Object obj = cl.newInstance(); |
jette une java.lang.InstantiationException.
Celui ci
Code:
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[] {}); |
jette une NoSuchMethodException avec pour message pack.age.ClasseA$ClasseB.<init>
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 !