你可以使用java反射找到包中的所有类吗?

你可以使用java反射找到包中的所有类吗?,第1张

你可以使用java反射找到包中的所有类吗?

由于类装载机的动态特性,这是不可能的。类加载器不需要告诉VM它可以提供哪些类,而是它们只是对类的处理请求,而必须返回一个类或引发异常。

但是,如果你编写自己的类加载器,或检查类路径及其jar,则可以找到此信息。但这将通过文件系统 *** 作,而不是通过反射。甚至可能有一些库可以帮助你做到这一点。

如果有一些生成或远程交付的类,你将无法发现这些类。

通常的方法是在某处将需要访问的类注册到文件中,或在其他类中引用它们。或者在命名时只使用约定。

Reflections reflections = new Reflections("my.project.prefix");Set<Class<? extends Object>> allClasses =     reflections.getSubTypesOf(Object.class);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4903137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存