À l'aide de .getDeclaredMethod pour obtenir une méthode d'une classe étendant l'autre
Donc disons que j'essaie d'obtenir une méthode d'une classe à l'aide de Method m = plugin.getClass().getDeclaredMethod("getFile");
.
Mais que plugin
classe est en train d'étendre une autre classe, qui est celle avec le getFile
méthode. Je ne suis pas sûr si cela en ferait jeter le NoSuchMethodException
exception ou pas.
Je sais la classe que l' plugin
est l'extension a la méthode getFile.
Désolé si je semble confus, un peu fatigué.
Vous devez vous connecter pour publier un commentaire.
Il semble que vous juste besoin d'utiliser
getMethod
au lieu degetDeclaredMethod
. Le point de l'ensemble degetDeclaredMethod
est qu'il seulement trouve les méthodes déclarées dans la classe que vous appelez sur:Alors que
getMethod
a:Qui ne trouvera public méthodes bien. Si la méthode que vous recherchez n'est pas publique, vous devez répéter la hiérarchie de classe vous-même, à l'aide de
getDeclaredMethod
ougetDeclaredMethods
sur chaque classe dans la hiérarchie: