我一直在研究我之前在this question中描述的项目。我试图从类中调用一个方法,该类的名称是动态生成的(并且在程序运行时编译该类)。我在方法Class watchFace = Class.forName("pebbleos.PebbleOS_" + fileName);
中调用currentWatchFace = watchFace.newInstance();
后跟loadWatchFace()
,然后在方法runWatchFace()
中调用该方法:
Method method = null;
try {
method = currentWatchFace.getClass().getMethod("initializeFace");
} catch (SecurityException | NoSuchMethodException e) {
System.out.println("Error");
}
method.invoke(currentWatchFace);
我的表盘代码是从文本文件中获取的,如下所示:
package pebbleos;
public class PebbleOS_Default {
public PebbleOS_Default () {
}
public void initializeFace() {
System.out.println(“Hello World”);
}
}
请注意,上面的内容应该是"原因"此错误:java.lang.reflect.InvocationTargetException
答案 0 :(得分:1)
根据您发布的代码,您似乎使用了与“
非常相似的错误字符"
,但它们并不相同。修复它,重新编译代码然后再试一次。