java - 当给定的类名是字符串时如何调用另一个类中的方法

标签 java class object methods dynamic

我有两个 java 类。当第二类名称存储在字符串变量中时,我正在从第一类调用第二类的方法。 我尝试了下面的代码。它创建了类。

String adapterClass = "com.appzillon.server.impl.ViewAccDtlsAdapterImpl";
Class className = Class.forName(adapterClass);

之后如何调用该方法。方法名称是getInfo,带有一个字符串类型的参数。

最佳答案

Method method = className.getDeclaredMethod("getInfo", String.class);
method.invoke(instance, "your parameter");

instance 是:

Object instance = null;

如果方法是静态的。或者:

Object instance = className.getDeclaredConstructor().newInstance();

如果方法是成员方法

关于java - 当给定的类名是字符串时如何调用另一个类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146893/

相关文章:

java - 如何在 Java 中访问数组对象的特定元素?

javascript - 替换对象值而不替换引用

javascript - 我无法让这个回调工作

java - 使用 Gosper's Hack(银行家序列)生成所有子集

java - 在 Spring boot 中使用 CRaSH 命令获取用户名

java - 让类在 java 中工作,构建 Android 应用程序来解析 XML

c++ - 帮助在 int main() 中显示 vector

java - 使用带引号的多行字符串解析 CSV

java - 将搜索模型转移到 Dao 的模式

java - 为什么分配刚刚声明的类变量是非法的?