遍历Java对象,并执行其中的方法(通过反射执行方法)

3 篇文章 0 订阅
1 篇文章 0 订阅
 for(int i = 0; i < ss.getClass().getMethods().length;i++){
   Method f = ss.getClass().getMethods()[i];
   if(f.getName().startsWith("get") && f.getParameterTypes().length == 0){
    System.out.print(f.getName() + " = ");
    String o = f.invoke(ss, null) == null ? "" : f.invoke(ss, null).toString();
    System.out.println(o);
   }
  }
注:ss是对象

遍历对象所有成员变量,并取其值
for(int i = 0; i < ss.getClass().getDeclaredFields().length;i++){
   System.out.println(ss.getClass().getDeclaredFields()[i].getName());
  }
遍历对象的父类的所有成员变量,并取其值
for(int i = 0; i < ss.getClass().getSuperclass().getDeclaredFields().length;i++){
   System.out.println(ss.getClass().getSuperclass().getDeclaredFields()[i].getName());
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,你可以使用反射机制来获取一个中的方法,并执行它们。下面是一个示例代码,展示了如何获取中的方法执行: ```java import java.lang.reflect.Method; public class MyClass { public void method1() { System.out.println("执行方法1"); } public void method2(String arg) { System.out.println("执行方法2,参数为:" + arg); } public static void main(String[] args) throws Exception { // 获取 MyClass 的 Class 对象 Class<?> myClass = MyClass.class; // 获取 MyClass 中的所有方法 Method[] methods = myClass.getDeclaredMethods(); // 遍历所有方法 for (Method method : methods) { System.out.println("方法名:" + method.getName()); // 如果是公共方法,则可以直接调用 if (method.isPublic()) { method.invoke(myClass.newInstance()); } } } } ``` 在上面的示例中,我们定义了一个 MyClass ,它包含了两个方法:method1() 和 method2(String arg)。在 main() 方法中,我们使用反射机制获取了 MyClass 的 Class 对象,并通过 getDeclaredMethods() 方法获取了所有方法。然后,我们遍历这些方法,并输出它们的名称。如果方法是公共方法,则使用 invoke() 方法执行方法。 请注意,为了简化示例,我们使用了 newInstance() 方法创建了一个 MyClass 的实例。在实际使用中,你可能需要根据具体情况来创建的实例。 希望这个示例能帮助到你理解如何获取中的方法执行它们。如果你有更多的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值