java如何根据方法名称字符串调用方法

java如何根据方法名称字符串调用方法

一、概述

如果我有两个变量:

Object obj;
String methodName = "getName";

在不知道obj类的情况下,如何调用由其标识的方法methodName

被调用的方法没有参数,并且有String返回值。是Java bean的getter方法

二、详解

在反射中使用方法调用:

Class c = Class.forName("class name");
Method method = c.getDeclaredMethod("method name", parameterTypes);
method.invoke(objectToInvokeOn, params);

反射中:

  • "class name" 是类的名称
  • objectToInvokeOn 是指定类型的对象,也是您要在其上调用方法的对象
  • "method name" 是您要调用的方法的名称
  • parameterTypes Class[]类型,并声明该方法采用的参数
  • params类型,Object[]并声明要传递给方法的参数

如若转载,请注明出处:https://www.javaidea.cn/article/8238.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。