Как получить метод, объявленный в определенном родительском классе? - PullRequest
3 голосов
/ 20 февраля 2012

Предположим следующее.Существует некоторый суперкласс или интерфейс, объявляющий некоторый метод: Base.doSmth().Существует также некоторый унаследованный класс, реализующий этот метод: Inherited.doSmth().У нас есть отражение (Method) Inherited.doSmth(), и мы знаем, что такое базовый класс, чтобы мы могли получить доступ к его отражению (Base.class).Вопрос: как получить отражение по методу Base.doSmth()?Конечно, мы можем перебрать все методы Base и найти один по имени, параметрам и типам возвращаемых данных, но, возможно, уже есть какое-то решение.Все происходит в классе, связанном с Spring, поэтому код уже связан с Spring, поэтому использовать его утилиты можно.

Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2012

Вы можете использовать public native Class<? super T> getSuperclass(); для доступа к метаданным суперкласса, а затем использовать public Method[] getMethods() throws SecurityException для доступа к метаданным его методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...