【发布时间】:2010-11-19 11:51:24
【问题描述】:
我有一个问题,我希望在运行时使用反射来生成一组类中的一个的实例。然而,我遇到了一个障碍。我想让所有涉及的类都注册自己,以便可以从 GUI 中选择适当的类。我可以使用每个文件中的静态代码块来执行此操作,它提供了一个整洁的 OO 解决方案。但是,java 类加载器会在需要时专门加载类,因此如果需要的类尚未使用,则不会注册。
没有直接提供静态名称列表,或者运行底层类/java文件(无论如何打包到jar中都会中断),有没有办法强制加载某些包的类?
基本上,我希望能够从指定的超类添加新类,而无需更改/添加任何其他代码。
【问题讨论】:
-
实际上似乎有几篇文章在一定程度上涵盖了这一点,但似乎没有一篇文章提供了一种不太复杂或令人满意的方法。见:stackoverflow.com/questions/205573/…stackoverflow.com/questions/176527/…
-
我会修改您问题的标题,因为您实际上是在询问枚举可用类,而不是动态加载它们。
标签: java reflection oop