Java反射:在内部静态类中调用函数

时间:2014-01-12 18:31:18

标签: java reflection

我的简单School类看起来像这样:

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

}

如上所述,School类有一个名为Student的内部公共静态类。 register()中定义了Student方法。

在我的main函数中,我可以通过:

加载内部静态Student
Class<?> studentClass = Class.forName("School$Student");

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

1 个答案:

答案 0 :(得分:2)

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

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