Кодирование с тазобедренного сустава было бы примерно таким:
java.lang.reflect.Method method;
try {
method = obj.getClass().getMethod(methodName, param1.class, param2.class, ..);
} catch (SecurityException e) { ... }
catch (NoSuchMethodException e) { ... }
Параметры идентифицируют очень специфический вам метод (если есть несколько перегруженных доступных, если метод не имеет аргументов, methodName
).
Затем вы вызываете этот метод, вызывая
try {
method.invoke(obj, arg1, arg2,...);
} catch (IllegalArgumentException e) { ... }
catch (IllegalAccessException e) { ... }
catch (InvocationTargetException e) { ... }
. Опять же, оставьте аргументы в .invoke
, если у вас их нет. Но да. Читайте о Java Reflection