找回密码
 立即注册
相关推荐换一批
  1. TB/T 2487-94 路基基床动应力测试方法
  2. YY/T 1559-2017 脊柱植入物椎间盘假体静态及动态性能试验方法
  3. TB/T 2391-93 内燃机车用柴油机调速器 清洁度测定方法
  4. YY/T 1560-2017 脊柱植入物椎体切除模型中枕颈和枕颈胸植入物试验方法
  5. YY/T 1562-2017 组织工程医疗器械产品生物材料支架细胞活性试验指南
  6. YD/T 839.1-2015 通信电缆光缆用填充和涂覆复合物 第1部分:试验方法
  7. YY/T 1607-2018 医疗器械辐射灭菌剂量设定的方法
  8. YY/T 0750-2018 超声理疗设备0.5 MHz~5 MHz频率范围内声场要求和测量方法
  9. YY/T 0478-2011 尿液分析试纸条
  10. YY/T 0857-2011 椎体切除模型中脊柱植入物试验方法
  11. YY/T 0961-2014 脊柱植入物脊柱内固定系统组件及连接装置的静态及疲劳性能评价方法
  12. HG/T 2098-2001 釜用机械密封系列及主要参数
  13. YD/T 2827.3-2015 无线通信射频和微波器件无源互调电平测量方法 第3部分:同轴连接器
  14. YD/T 2827.1-2015 无线通信射频和微波器件无源互调电平测量方法 第1部分:通用要求
  15. YY/T 1643-2018 远程医用影像设备的功能性和兼容性检验方法
  16. TB/T 2909-1998 机车车辆工艺装备编号方法
  17. HG/T 2871-2008 胶鞋整鞋屈挠试验方法
  18. TB/T 2774-1997 减速顶测试方法
  19. YY/T 1457-2016 无源外科植入物硅凝胶填充乳房植入物中寡聚硅氧烷类物质测定方法
  20. YY/T 0815-2010 差示扫描量热法测定超高分子量聚乙烯熔化焓、结晶度和熔点
  21. YY/T 0810.1-2010/ISO 14879-1 :2000 外科植入物全膝关节假体 第1部分:胫骨托疲劳性
  22. YY/T 0813-2010 交联超高分子量聚乙烯(UHMWPE)分子网状结构参数的原位测定标准方法
问题
如果我有两个变量:
  1. Object obj;
  2. String methodName = "getName";
复制代码

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

被调用的方法没有参数并返回一个 String 。它是 Java bean 的吸气剂。

回答
粗略地从臀部编码:
  1. java.lang.reflect.Method method;
  2. try {
  3.   method = obj.getClass().getMethod(methodName, param1.class, param2.class, ..);
  4. } catch (SecurityException e) { ... }
  5.   catch (NoSuchMethodException e) { ... }
复制代码

该参数标识了您需要的非常具体的方法(如果有多个重载可用,如果该方法没有参数,则只给出 methodName)。

然后通过调用
  1. try {
  2.   method.invoke(obj, arg1, arg2,...);
  3. } catch (IllegalArgumentException e) { ... }
  4.   catch (IllegalAccessException e) { ... }
  5.   catch (InvocationTargetException e) { ... }
复制代码

同样,如果没有参数,请省略 .invoke 中的参数。但是,是的。了解 Java 反射





上一篇:如何设置一些 Tkinter 小部件的边框颜色?
下一篇:递归删除,但排除特定目录树