Если вы просто хотите вызвать другой статический метод в классе, тогда вы можете использовать подход, уже определенный другими:
Method method = Dialogs.getMethod(s, Integer.class);
method.invoke(null, i);
Но если вы хотите иметь возможность использовать статический метод для вызова нестатического метода, то вам нужно будет передать объект, на который вы хотите сослаться, или сделать ChooseDialog нестатичным.
function chooseDialog(Object o, String s, Integer i) {
Method method = Dialogs.getMethod(o, Integer.class);
method.invoke(o, i);
}
Но я не думаю, что это правильный способ ООП решить проблему. И, основываясь на ваших комментариях, рефлексия не является абсолютно необходимой, и есть выбор, позволяющий анализировать строку и передавать ее соответствующему методу, что является гораздо более безопасным подходом. При любом подходе ваши юнит-тесты должны выглядеть одинаково.
if (s.equals("dialog1")) {
dialog1(i);
}