ОК, эта ветка уже достаточно старая, поэтому очень вероятно мой ответ на этот вопрос не поможет. Но поскольку эта ветка помогла мне найти решение, я все равно выложу его здесь.
Мне нужно было использовать переменный статический метод с известным вводом и известным выводом (оба double ). Итак, зная пакет метода и имя, я мог бы работать следующим образом:
java.lang.reflect.Method Function = Class.forName(String classPath).getMethod(String method, Class[] params);
для функции, которая принимает один дубль в качестве параметра.
Итак, в моей конкретной ситуации я инициализировал это с помощью
java.lang.reflect.Method Function = Class.forName("be.qan.NN.ActivationFunctions").getMethod("sigmoid", double.class);
и вызвал его позже в более сложной ситуации с
return (java.lang.Double)this.Function.invoke(null, args);
java.lang.Object[] args = new java.lang.Object[] {activity};
someOtherFunction() + 234 + (java.lang.Double)Function.invoke(null, args);
где активность - произвольное двойное значение. Я думаю о том, чтобы сделать это немного более абстрактным и обобщить, как это сделал SoftwareMonkey, но в настоящее время я достаточно доволен тем, как оно есть. Три строки кода, без классов и интерфейсов, это не так уж плохо.