1700439718
1700439719
//编译成功
1700439720
1700439721
if(task.call()){
1700439722
1700439723
//生成对象
1700439724
1700439725
Object obj=Class.forName(clsName).newInstance();
1700439726
1700439727
Class<?extends Object>cls=obj.getClass();
1700439728
1700439729
//调用sayHello方法
1700439730
1700439731
Method m=cls.getMethod(methodName, String.class);
1700439732
1700439733
String str=(String)m.invoke(obj,“Dynamic Compilation”);
1700439734
1700439735
System.out.println(str);
1700439736
1700439737
}
1700439738
1700439739
}
1700439740
1700439741
}
1700439742
1700439743
//文本中的Java对象
1700439744
1700439745
class StringJavaObject extends SimpleJavaFileObject{
1700439746
1700439747
//源代码
1700439748
1700439749
private String content=””;
1700439750
1700439751
//遵循Java规范的类名及文件
1700439752
1700439753
public StringJavaObject(String_javaFileName, String_content){
1700439754
1700439755
super(_createStringJavaObjectUri(_javaFileName),Kind.SOURCE);
1700439756
1700439757
content=_content;
1700439758
1700439759
}
1700439760
1700439761
//产生一个URL资源路径
1700439762
1700439763
private static URI_createStringJavaObjectUri(String name){
1700439764
1700439765
//注意此处没有设置包名
1700439766
1700439767
return URI.create(“String:///”+name+Kind.SOURCE.extension);
[
上一页 ]
[ :1.700439718e+09 ]
[
下一页 ]