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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈斌 中级黑马   /  2012-3-1 15:36  /  1523 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有谁对反射不晕的进来讲讲自己对其的理解、、、、、哥们我对它有点晕!

1 个回复

倒序浏览
本帖最后由 欧阳博 于 2012-3-1 16:02 编辑

JAVA反射可以说是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
我现在一般所用到的就是
(1)得到某个类所有的构造方法、Constructor con1  = 类名.class.getConstructor(String.class); //获得这个类的构造函数(这里是有个String类型参数的)
类 str = (类)con1.newInstance(new String("abc")); //创建一个实例对象
(2)得到类的成员变量属性,Field fieldY = str.getClass().getField("y"); //y是变量名
System.out.println(fieldY.get(str));  //得到str对象的fieldY属性值
(3)得到类中的某一个方法,Method method  = 类名.class.getMethod("方法名称",int.class); //int.class为该方法参数类型
调用它的方法  method.invoke(对象,参数值);

其他好多好多应用和方法建议楼主查询API
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马