Получение всех методов класса и их выполнение

Получение всех методов класса и их выполнение

1
2
3
4
5
6
7
Class c = person.getClass();
Method[] methods = c.getDeclaredMethods(); //Получаем массив объявленных методов класса person
try {
    methods[0].invoke(person, null); //Выполняем первый попавшийся метод
} catch (IllegalAccessException | InvocationTargetException e) {
    e.printStackTrace();
}

Более подробно расписано здесь (http://java-online.ru/java-reflection.xhtml).
Вызов метода с параметрами:

1
2
3
4
5
Class aclass = obj.getClass();
Class[] paramTypes = new Class[] { String.class, int.class };
Method method = aclass.getMethod("getCalculateRating", paramTypes);
Object[] args = new Object[] { new String("First Calculate"), new Integer(10) };
Double d = (Double) method.invoke(obj, args);

Метод invoke принимает два параметра : первый — это объект, класс которого объявляет или наследует данный метод, а второй — массив значений параметров, которые передаются вызываемому методу.

(Просмотрено 178 раз, 1 раз за сегодня)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *