Java反射: Invoke function in a inner static class

标签 java reflection

我的简单 School 类如下所示:

public class School{
   ...
   public static class Student{
       public void register(){
          ...
       }
   }

}

正如您在上面看到的,School 类有一个名为 Student 的内部公共(public)静态类。 Student 中定义了一个方法 register()

在我的主函数中,我可以通过以下方式加载内部静态 Student 类:

Class<?> studentClass = Class.forName("School$Student");

我想知道,通过上面的代码行,我如何以java反射方式调用register()函数。

最佳答案

如果您有一个有效的类,那么您可以使用以下方式访问和调用其方法:

Method register = studentClass.getDeclaredMethod("register");
register.invoke(studentClass.newInstance());

关于Java反射: Invoke function in a inner static class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078634/

相关文章:

java - 不能使用另一个类的方法吗?

java - Java是否将文件路径中的多个斜杠 "\\\\\\"视为单个 "\\"?

java - 从内部类访问它的私有(private)构造函数时,反射返回两个构造函数

java - 在 Java 中从字符串解析对象

java - 在初始化中加载变量的最佳实践是什么

java - 在文本文件中写入文本并使用保存对话框保存它

java - java中没有但c++具有这些功能的OOP功能是什么?

java - 在 Java 中获取包装类类型的简单方法

java - java中反射和后期绑定(bind)的区别与实时示例

.net - 调用PropertyInfo.GetValue时参数计数不匹配异常