Java列出一个父类的所有子类

6

请查看 https://dev59.com/TXVC5IYBdhLWcg3wtzkQ - Chetter Hummin
我假设存在一些限制,例如一组包。如果没有给出任何限制,那么不可能找到扩展某个类的每个类。 - Jagger
1个回答

6
我会使用http://code.google.com/p/reflections/
使用Reflections,您可以查询元数据,例如:
- 获取某个类型的所有子类型 - 获取所有带有某个注释的类型/方法/字段,而不需要匹配注释参数 - 获取与正则表达式匹配的所有资源
这可以在索引或缓存模式下使用。正如@Jagger所建议的那样,对每个类进行暴力搜索相对较慢。您还可以通过包限制搜索,例如com.mycom.*

我怀疑你能否使用反射API来查找所有继承给定类的类。不过我可能是错的。也就是说,你可以轻松地使用反射API来获取某个类型的超类型,但无法获取该类型的所有可能子类型。 - Alderath
1
这就是库的作用。不要与反射API混淆,正如你所说它不会做到这一点。 ;) - Peter Lawrey
1
我的错误。请忽略我之前的评论。我主要关注于阅读灰色框,并假设您指的是java.lang.reflect。 - Alderath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接