Да, действительно!Вы можете использовать Class.getDeclaredMethod
для поиска объекта Method
с указанным именем и типами параметров.Например, чтобы найти ваш метод someMethodThatTakesParams
, вы можете написать
Method m = ListClients.class.getDeclaredMethod("someMethodThatTakesParams", ArgType1.class, ArgType2.class);
Здесь ArgType1
и ArgType2
- это типы аргументов.
Как только у вас есть методВы можете вызвать его следующим образом:
m.invoke(null, arg1, arg2);
Где arg1
и arg2
- параметры, которые вы хотите передать.Обратите внимание, что первый аргумент invoke
- это null
, потому что метод является статическим.
Этот подход исключает все виды странностей, за исключением исключений, которые вы должны ловить, и разрешений безопасности, которые вы, возможно, должны получить, но к счастью, техне так сложно подобрать.