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

标签 java

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

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/

相关文章:

java - Android 旋转器 "onclicklistener"问题

Java 枚举 - 自定义 getValues() 与 values()

java - 尝试使用方法调用在 javaFX 中启动新的 FXML 文件

java - 构建最佳折线

java - 更改微调项文本

Java Cucumber 日期表

java - 如何在JUNG的DirectedSparseGraph上使用getNeighbors函数?

java - 我是否需要刷新或关闭自定义 Spring Web MessageConverter 中的 OutputStream

java - 使用java读取excel中嵌入的对象

java - 通过elasticsearch java客户端更新索引设置