找回密码
 立即注册
相关推荐换一批
  1. YS/T 556.3-2006 锑精矿化学分析方法 铅量的测定
  2. YS/T 556.2-2006 锑精矿化学分析方法 砷量的测定
  3. YS/T 555.11-2006 钼精矿化学分析方法 铼量的测定
  4. YS/T 555.9-2006 钼精矿化学分析方法 铋量的测定
  5. YS/T 555.3-2006 钼精矿化学分析方法 砷量的测定
  6. JB/T 9050.4-2006 圆柱齿轮减速器 第4部分:基本参数
  7. JT/T 646-2005 公路声屏障材料技术要求和检测方法
  8. GB/T 12143-2008 饮料通用分析方法
  9. GB/T 15080.7-1994 锑精矿化学分析方法 汞量的测定
  10. SH/T 3042-2007 合成纤维厂采暖通风与空气调节设计规范
  11. SN/T 1512-2005 进出口棉花检验方法 HVI测量方法
  12. DL/T 502.15-2006 火力发电厂水汽分析方法 第15部分:氨的测定(容量法)
  13. DL/T 502.2-2006 火力发电厂水汽分析方法 第2部分:水汽样品的采集
  14. GY 76-1989 广播调音台运行技术指标测量方法
  15. YB/T 5025-2006 古马隆和茚含量的测定方法
  16. DL/T 502.26-2006 火力发电厂水汽分析方法 第26部分:亚铁的测定(啉菲啰啉分光光度法)
  17. DL/T 502.16-2006 火力发电厂水汽分析方法 第16部分:氨的测定(纳氏试剂分光光度法)
  18. GB/T 22040-2008 公路沿线设施塑料制品耐候性要求及测试方法
  19. GB/T 5837-2008 液力偶合器 型式和基本参数
  20. CJ/T 277-2008 城市道路清扫面积测算方法
  21. GB/T 8484-2008 建筑外门窗保温性能分级及检测方法
  22. GB/T 13624-2008 核电厂安全参数显示系统的功能设计准则
  23. GA 783.2-2008 指纹应用接口 第2部分:现场指纹特征编辑调用接口
  24. SY/T 5523-2006 油田水分析方法
问题
如果我有两个变量:
  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 小部件的边框颜色?
下一篇:递归删除,但排除特定目录树