我的简单 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/