找回密码
 立即注册
相关推荐换一批
  1. GB 11221-1989 生物样品灰中铯-137的放射化学分析方法
  2. GB 11225-1989 水中钚的分析方法
  3. GB 11213.1-1989 化纤用氢氧化钠含量的测定方法(甲法)
  4. GB 11206-1989 硫化橡胶老化表面龟裂试验方法
  5. GB 10839-1989 部分封闭救生艇型式和基本参数
  6. GB 6283-1986 化工产品中水分含量的测定 卡尔·费休法 (通用方法)
  7. GB/T 10558-1989 感光材料均方根颗粒度测定方法
  8. GB 10236-1988 半导体电力变流器与电网互相干扰及其防护方法导则
  9. GB 5119.5-1985 粗铅化学分析方法 砷锑钼蓝光度法测定砷量
  10. GB 5119.1-1985 粗铅化学分析方法 EDTA容量法测定铅量
  11. GB 3255.5-1982 三硫化二锑化学分析方法 重量法测定盐酸不溶物
  12. GB 3255.4-1982 三硫化二锑化学分析方法 重量法测定王水不溶物
  13. GB 3255.2-1982 三硫化二锑化学分析方法 硫酸钡重量法测定化合硫
  14. GB 10864.3-1989 余热锅炉参数系列 富氧炼钢平炉余热锅炉
  15. GB 3322.2-1982 煤矿矿车基本参数及尺寸 底卸式
  16. GB/T 20444-2006 猪组织中四环素族抗生素残留量检测方法 微生物学检测方法
  17. GB/T 8152.5-2006 铅精矿化学分析方法 砷量的测定 原子荧光光谱法
  18. GB/T 8152.12-2006 铅精矿化学分析方法 镉量的测定 火焰原子吸收光谱法
  19. GB 12021.3-2000 房间空气调节器能源效率限定值及节能评价值
  20. YB 242-1963 直径5~152毫米电焊钢管
  21. SN/T 0801.4-1999 进出口动植物油脂华司脱加热试验检验方法
  22. SN/T 0801.2-1999 进出口动植物油脂含磷量的检验方法
  23. SN/T 0873-2000 进出口陶瓷铅、镉溶出量快速检验方法
  24. SN/T 0869-2000 进出口饮料中维生素C的测定方法
问题
如果我有两个变量:
  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 小部件的边框颜色?
下一篇:递归删除,但排除特定目录树