Bonjour tout le monde,
J'espère avoir chez vous une réponse à mon problème
J'utilise la réflexion pour récupérer une méthode de la classe supérieure de ma classe (pour des besoins spécifiques je dois appelé une méthode parmi un ensemble de méthode).
La méthode est déclarée comme 'protected', donc j'utilise la méthode declaredMethod('nom de la méthode') pour la récupérer. et j'aimerai lui faire appel. sachant que je suis dans la classe qui étends sa classe, donc j'ai la possibilité d’exécuter la méthode.
A l’exécution du programme, j'arrive à récupérer la méthode mais l’appel me retourne 'null'
avec serviceName est une chaîne de caractère comme entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Class myClass = this.getClass(); Method destinationServiceGetter; destinationServiceGetter = myClass.getSuperclass().getDeclaredMethod("get" + serviceName, null); Object destinationService = destinationServiceGetter.invoke(this);
P.S : quand je mets la méthode dans la même classe, le programme marche bien. (sans utiliser getSuperclass() biensur).
est ce que l'appel à une méthode avec la réflexion ne respecte pas si la classe est une classe qui hérite de la classe concernée?.
Partager