Java反射API使用案例:动态获取类方法

原创 ╰+攻爆jí腚メ 2024-11-21 18:36 87阅读 0赞

Java反射API允许我们在运行时动态地获取类的信息,包括类的方法。以下是一个使用反射API动态获取类方法的示例:

  1. import java.lang.reflect.Method;
  2. // 假设我们有一个Person类,它有一个名为printInfo的方法
  3. public class Person {
  4. public void printInfo() {
  5. System.out.println("Personal information: ");
  6. }
  7. }
  8. // 使用反射获取方法
  9. public class ReflectionDemo {
  10. public static void main(String[] args) {
  11. // 获取Person类
  12. Class<Person> personClass = Person.class;
  13. // 定义方法的搜索条件
  14. String methodName = "printInfo";
  15. try {
  16. // 通过反射获取方法
  17. Method printInfoMethod = personClass.getMethod(methodName);
  18. // 调用方法
  19. printInfoMethod.invoke(new Person());
  20. System.out.println("Method 'printInfo' successfully retrieved and invoked.");
  21. } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
  22. e.printStackTrace();
  23. System.out.println("Failed to retrieve or invoke method: " + e.getMessage());
  24. }
  25. }
  26. }

这个示例中,我们首先获取了Person类。然后,我们定义了一个方法名(printInfo)。使用personClass.getMethod(methodName)来通过反射获取指定方法。

最后,我们调用该方法,并在 Person 类的实例上调用。如果一切顺利,你应该看到 “Method ‘printInfo’ successfully retrieved and invoked.” 的输出。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,87人围观)

还没有评论,来说两句吧...

相关阅读