La respuesta corta es no.
La respuesta larga es que las subclases pueden aparecer de muchas maneras, lo que básicamente hace que sea imposible encontrarlas categóricamente.
No puede hacerlo en tiempo de ejecución pero no puede encontrar las clases hasta que se carguen y ¿cómo sabe que están cargadas? Podrías escanear cada archivo JAR y de clase, pero eso no es definitivo. Además, hay cosas como cargadores de clases de URL.
Las clases internas (estáticas y no estáticas) son otro caso a considerar. Las clases internas con nombre son más fáciles de encontrar. Las clases internas anónimas son potencialmente mucho más difíciles de encontrar.
También debe tener en cuenta que si una clase tiene subclases, se pueden crear nuevas subclases en un momento posterior.
En C# puede hacer esto iterando a través de la definición de cada clase en un ensamblaje, y probando cada una de estas clases para ver si implementa esa interfaz. – ChrisW
Lamentablemente, la pregunta no es sobre C#. – Tom
¿Duplicado? '¿Cómo se encuentran todas las subclases de una clase determinada en Java?', Http://stackoverflow.com/questions/492184/how-do-you-find-all-subclasses-of-a-given-class-in- java – Jonik