可能重复:
How do you find all subclasses of a given class in Java?
我有一个超类MyClass
,它是抽象的。任何人都可以实现它。
在运行时,我需要使用java反射确定哪些类从此类继承。怎么能这样做?
答案 0 :(得分:4)
您可以使用Reflections库。
使用思考可以查询元数据,例如:
- 获取某种类型的所有子类型
- 获取所有带注释的类型/方法/字段,没有 注释参数匹配
- 获取与正则表达式匹配的所有资源
答案 1 :(得分:3)
答案 2 :(得分:0)
这样做的唯一方法(不使用外部库)是循环遍历所有类并单独检查它们 - 没有内置的有效方法(也不存在真正的,除了扫描所有方法之外你还会怎么做这些类可以动态加载吗?)
有关详细信息,请参阅Stack Overflow问题 How do you find all subclasses of a given class in Java? 。