Shailesh Tainwala
Shailesh Tainwala

Reputation: 6507

How to programmatically find list of classes that have inherited a particular class in Java

I have a class called MyClass. Is it possible to programmatically find a list of classes that have inherited MyClass? I know we can use reflection to discover all the superclasses of a given class, but can we find the subclasses?

Is it even theoretically possible to do so (as I haven't heard of a class being aware of when it is being extended) ?

Upvotes: 1

Views: 2707

Answers (1)

Peter Lawrey
Peter Lawrey

Reputation: 533880

You might want to look at the reflections library


Using Reflections you can query your metadata such as:

  • get all subtypes of some type
  • get all types/methods/fields annotated with some annotation, w/o annotation parameters matching
  • get all resources matching matching a regular expression

Upvotes: 6

Related Questions