Самый простой способ - создать интерфейс, который определяет вызываемый метод. Таким образом, вы всегда можете запустить метод через Reflection (так как вы знаете имя метода).
То, о чем вы говорите, называется «eval», а Java не имеет возможности выполнять eval, как функциональный язык.
Глупый пример с использованием отражения:
String classname = "MyClass";
Class klass = Class.forName(classname);
Class paramTypes[] = {Integer.TYPE, Float.TYPE};
Method method = klass.getMethod("methodToRun", paramTypes);
method.invoke(new Integer(1), new Float(1.2f));