java列出父项的所有子类

时间:2012-04-23 08:00:44

标签: java inheritance reflection

  

可能重复:
  At runtime, find all classes in a Java application that extend a base class

我需要获取扩展特定类(父类)的所有类(子)的列表,然后创建它们的所有实例。

我应该如何用Java做到这一点?

1 个答案:

答案 0 :(得分:5)

我会使用http://code.google.com/p/reflections/

  

使用思考可以查询元数据,例如:

     
      
  • 获取某种类型的所有子类型
  •   
  • 获取所有带注释的类型/方法/字段,没有匹配的注释参数
  •   
  • 获取与正则表达式匹配的所有资源
  •   

这可以在索引或缓存模式下使用。正如@Jagger所暗示的那样,对每个班级进行蛮力搜索的速度相对较慢。您还可以按包限制搜索,例如com.mycom.*