Скажем, есть класс ( A ), который имеет поле ( myField ).Тип поля myField является интерфейсом ( I ).Все публично.
Мне нужно вызвать метод класса, который является типом * myField *.Мой код следующий:
Field myField = getField(myClass, "fieldName");
Class fieldClass = myField.getType(); // returns I
try {
Class[] params = {String.class};
Method method = fieldClass.getMethod("methodName", params);
Object[] paramsObj = {new String("input")};
boolean result = (Boolean) method.invoke(WHAT_MUST_I_PUT_HERE, paramsObj);
} catch...
Как видите, проблема в том, что я не могу сделать что-то вроде:
WHAT_MUST_I_PUT_HERE = myField.getClass() // returns Field
Может ли кто-нибудь мне помочь?
РЕДАКТИРОВАТЬ : я пытался использовать
TargetClass o = (TargetClass) myField.get(myClass)
, но обнаружил исключение IllegalArgumentException