假设我在运行时从文件夹加载类文件:
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("com.mycompany.MyClass");
假设我知道该方法 returnTestString()
存在于上面定义的不明确类中。我怎样才能获得该方法,而不将类强制转换为预期的类,如MyClass class = (MyClass) cls.newInstance();
?
最佳答案
您可以调用任何声明的方法,而无需使用反射进行转换。 This post很好地解释了细节。
简而言之,它是这样的:
Class cls = cl.loadClass("com.mycompany.MyClass");
Method method = cls.getDeclaredMethod ("returnTestString", null);
Object obj = cls.newInstance();
method.invoke(obj, null);
关于java - 从加载的类文件运行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142249/