是否可以使用reflection在包中获取公共接口和类的集合?

是否可以使用reflection获取给定包中的公共接口和类的集合? 问题适用于Java 1.6

原因:我有一个包,其中一些类被注释。 我想自动收集它们以进行记录

你真的必须在运行时生成文档吗? 使用注释处理工具(APT)的常规方法: http : //download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/apt/GettingStarted.html

不,至少在一般情况下是不可能的。 这是因为类加载器机制太灵活而不允许它:类可以通过网络加载或动态生成,唯一的操作是“向类加载器询问具有完全限定名称X的类,它将返回类X或抛出exception。您可以轻松实现一个类加载器,它返回任何包中任何名称的类,即无限数量的类。

对于通过URLClassLoader从目录或JAR文件加载类的特定情况,可以查看所述目录或JAR文件的内容。