Как программно найти список классов, которые унаследовали определенный класс в Java - PullRequest
1 голос
/ 27 апреля 2011

У меня есть класс под названием MyClass.Можно ли программно найти список классов, которые унаследовали MyClass?Я знаю, что мы можем использовать отражение, чтобы обнаружить все суперклассы данного класса, но можем ли мы найти подклассы?

Возможно ли даже теоретически сделать это (поскольку я не слышал о том, чтобы класс знал окогда это расширяется)?

1 Ответ

6 голосов
/ 27 апреля 2011

Возможно, вы захотите взглянуть на отражения библиотеку


Используя Reflections, вы можете запросить ваши метаданные, такие как:

  • получить все подтипы некоторого типа
  • получить все типы / методы / поля, помеченные аннотацией, без соответствия параметров аннотации
  • получить все ресурсы, соответствующие регулярному выражению
...