使用java反射Reflections类 怎么获取到指定包路径下的所有类
时间: 2024-05-04 09:20:11 浏览: 205
可以使用 Reflections 库来获取指定包路径下的所有类。下面是一个示例代码:
```java
import org.reflections.Reflections;
import java.util.Set;
public class GetClassesInPackage {
public static void main(String[] args) {
String packageName = "com.example"; // 指定包名
Reflections reflections = new Reflections(packageName);
Set<Class<?>> classes = reflections.getSubTypesOf(Object.class);
for (Class<?> clazz : classes) {
System.out.println(clazz.getName());
}
}
}
```
这个示例代码中,我们首先指定了要获取的包路径,然后创建了一个 Reflections 对象,并将指定的包路径作为构造函数的参数传入。然后,我们使用 `getSubTypesOf` 方法来获取指定包路径下所有的类。由于所有类都继承自 Object 类,因此我们可以将 Object.class 作为参数传递给 `getSubTypesOf` 方法。最后,我们遍历获取到的类集合,并输出类的名称。
需要注意的是,使用 Reflections 类获取指定包路径下的所有类需要添加 Reflections 库的依赖。
阅读全文