使用 Java 中的反射调用对象方法


可以使用 java.lang.Class.getDeclaredMethods() 方法来调用对象的方法。此方法返回一个数组,其中包含所有 public、private、protected 和默认访问权限的 Method 对象。但是,此数组不包括继承的方法。

此外,如果类或接口没有方法,或者在 Class 对象中表示基本类型、数组类或 void,则 getDeclaredMethods() 方法会返回一个长度为 0 的数组。

下面给出了演示此问题的程序 −

示例

 在线演示

import java.lang.reflect.Method;
class ClassA {
   private String name = "John";
   public String returnName() {
      return name;
   }
}
public class Demo {
   public static void main(String[] args) throws Exception {
      Class c = ClassA.class;
      Method[] methods = c.getDeclaredMethods();
      ClassA obj = new ClassA();
      for (Method m : methods) {
         Object result = m.invoke(obj, new Object[0]);
         System.out.println(m.getName() + ": " + result);
      }
   }
}

输出

returnName: John

更新于: 25-6-2020

687 人查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.