从加载的类文件运行方法?

时间:2015-01-25 22:20:25

标签: java

假设我在运行时从文件夹加载类文件:

ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("com.mycompany.MyClass");

让我们说我知道方法returnTestString()存在于上面定义的模糊类中。如何在不将类作为目标类强制转换为MyClass class = (MyClass) cls.newInstance();的情况下获取该方法?

1 个答案:

答案 0 :(得分:2)

您可以调用任何声明的方法而不使用反射进行强制转换。 This post很好地解释了细节。

简而言之,它是这样的:

Class cls = cl.loadClass("com.mycompany.MyClass");
Method method = cls.getDeclaredMethod ("returnTestString", null);
Object obj = cls.newInstance();
method.invoke(obj, null);