A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾辉 黑马帝   /  2012-2-3 16:06  /  1462 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

bean 是一个实体对象
Object result = method.invoke(bean, (Object[])null);
搞不明白这句什么意思

3 个回复

倒序浏览
本帖最后由 梅雄新 于 2012-2-3 20:23 编辑

Object result = method.invoke(bean, (Object[])null);
上面的代码是通过反射调用类中的方法
其中method是反射得到的字节码中的方法
invoke方法的第一个参数为要操作的实例对象,这里用bean,第二个参数为反射的方法中的形参,由(Object[])null可知这里的反射方法是指对应类方法中无形参的那个方法
且由前面的Object result可以知道调用返回值为一个对象

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
你好,
Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,
  如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象,
  如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,
Object result = method.invoke(bean, (Object[])null);
这段程序的意思是:传入两个参数,一个是bean对象,一个是Object数组,传入的数组是空值,没有任何数据。invoke方法运行完之后,返回一个结果,将结果赋值给Object类型的result
希望对你有帮助.

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
Object result = method.invoke(bean, (Object[])null);
意思:
对象bean调用method方法
method方法的参数是(Object[])null
method方法的返回类型是Object  返回值赋给Obje类型result引用

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马