相关疑难解决方法(0)

如何以编程方式编译和实例化Java类?

我将类名存储在属性文件中.我知道类存储将实现IDynamicLoad.如何动态实例化该类?

现在我有

     Properties foo = new Properties();
    foo.load(new FileInputStream(new File("ClassName.properties")));
    String class_name = foo.getProperty("class","DefaultClass");
    //IDynamicLoad newClass = Class.forName(class_name).newInstance();
Run Code Online (Sandbox Code Playgroud)

newInstance只加载编译的.class文件吗?如何加载未编译的Java类?

java reflection dynamic-loading

64
推荐指数
3
解决办法
5万
查看次数

Java:从字符串加载类

我知道这可能与类加载器有关,但是我找不到一个例子(可能是我正在谷歌搜索错误的关键字.

我试图从字符串加载一个类(或方法).该字符串不包含类的名称,但包含类的代码,例如

class MyClass implements IMath {
    public int add(int x, int y) {
         return x + y;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后做这样的事情:

String s = "class MyClass implements IMath { public int add(int x, int y) { return x + y; }}";
IMath loadedClass = someThing.loadAndInitialize(string);
int result = loadedClass.add(5,6);
Run Code Online (Sandbox Code Playgroud)

现在显然,someThing.loadAndInitialize(string)- 部分是我不知道如何实现的部分.这甚至可能吗?或者更容易运行JavaScripts并以某种方式"给"变量/对象(如x和y)?

谢谢你的任何提示.

java reflection classloader

1
推荐指数
1
解决办法
3062
查看次数

标签 统计

java ×2

reflection ×2

classloader ×1

dynamic-loading ×1