我想在我的Java程序中列出/枚举(在运行时)所有实现给定接口的类,并检索类名。可能吗 ?我该怎么办?
答案 0 :(得分:2)
详细说明如何使用反射:
您可以从Thread.currentThread().getContextClassLoader()
开始。
使用包名称作为路径,获取资源:Enumeration<URL> resources = classLoader.getResources(path);
然后你必须从资源中解码文件名,并迭代它们(递归地,因为某些可能是目录)。过滤.class
文件的资源,使用Class.forName()
实例化类并检查它们实现的接口。
答案 1 :(得分:1)
你应该使用java Reflection
此链接提供了一个教程,涵盖了使用Reflection可以执行的所有操作。您可以从那里开始构建代码