【发布时间】:2015-04-01 15:53:10
【问题描述】:
我是一名开发人员,最近我正在开发一个 java 应用程序。 此应用程序生成了许多报告,并且它的应用程序会定期更新,以便在应用程序中实现新的报告功能。
所以我想集成插件系统,如 Eclipse 或其他工具,我们可以根据需要在其中安装新插件。
在实现它时需要考虑一些问题 -
问。 1 - 如何在不使用变量值的情况下创建类实例?
For example -
public class A {
public static void main(String arg[])
{
int data = 0;
String CName = "B";
B ob1 = new B() //valid ways
data = ob1.addMy(); //valid ways
CName ob2 = new CName(); // My required ways
data = ob2.addMy(); // My required ways
}
}
class B
{
int addMy()
{
int a =90;
return a;
}
}
实际上 .class 将动态保存在包中,所以我将类名保存在数据库中,然后我想使用这个类名字符串来创建实例(对象)来访问保存的类成员。 如果可能请给我建议
问。 2 - 如何在 Java 应用程序中实现插件功能的最佳方法。如果可能,请给我一个例子。
请帮帮我 谢谢大家。
【问题讨论】:
-
阅读类加载和反射。例如,您可以使用
Class.forName动态加载类 -
Eclipse 和许多动态安装模块的应用程序都使用OSGi。你所说的有点骇人听闻 - 它会起作用,但可能会导致 PerGen 泄漏,
-
还可以考虑通过java-web-start 进行部署以进行定期更新。