Bonjour tout le monde,

Je n'arrive pas à trouver la solution de ce problème... qui commence à m'embéter sérieusement.
J'ai 2 classes :
ClasseFille qui étends ClasseMere
ClasseMere à un constructeur public avec pour signature (Namespace, Document)
ClasseFille n'à pas de constructeur.

En réflexion je veux créer ma classeFille donc si je fais comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Class classe = Class.forName("ClasseFille");
Constructor constructor = classe.getSuperclass().getDeclaredConstructor(new Class[] { 
                                           Class.forName("org.jdom.Namespace"), 
                                           Class.forName("org.jdom.Document")
                                           });
Object maClasse = constructor.newInstance(new Object[]{"monNameSpace", "maTransaction"});
Et là : maClasse est une ClasseMere non castable en ClasseFille !

En revanche, si je supprime le getSuperclass() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Class classe = Class.forName("ClasseFille");
Constructor constructor = classe.getDeclaredConstructor(new Class[] { 
                                           Class.forName("org.jdom.Namespace"), 
                                           Class.forName("org.jdom.Document")
                                           });
Object maClasse = constructor.newInstance(new Object[]{"monNameSpace", "maTransaction"});
Je me chope une exception car le constructeur n'est pas trouvé dans la ClasseFille...

Y a t'il une solution autre que de redéclarer les contructeur dans la ClasseFille ?

Merci d'avance et bonne journée