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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 zhanghua 于 2011-11-21 13:58 编辑

一个自己写的类,怎么用反射去操作它呢?改变这个类的属性值,和调用这个类的方法

2 个回复

正序浏览
本帖最后由 高庆亮 于 2011-11-16 10:45 编辑

是和其他类一样的,首先获得这个类的字节码,获得字节码有三种方法:
                      a.直接用类名.class
                                b.对象名.getclass
                                c.Class.forName("该类的路径")
拿到字节码后就可以检查到这个类的属性和方法了。检查后就可以对其进行操作。
Constructor[] (获得构造方法) Method[](获得该类的方法) Field[](获得属性)
我只能先提供给你这些信息了,刚接触反射时多看看视频,在多动手,如果感觉张老师的刚开始看不懂,就先看下其他比较基础的视频,然后回头再看张老师的视频,在多动手练练就OK了,我就是这么过来的。反射很有意思的哦。

(对了老师别忘了给我加分呀,我准备去黑马第五期,现在一分还没有呢{:soso_e149:} )

评分

参与人数 1技术分 +2 收起 理由
李印东老师 + 2 新手,鼓励下。加油。

查看全部评分

回复 使用道具 举报
本帖最后由 宋文轩 于 2011-11-16 10:58 编辑

首先获取你写的类的字节码文件  Class class1=类名.class; 获取方法 Method  method=class1.getMethod("方法名",参数列表.class);
Constructor con=class1.getConstructor(参数列表.class);
Object obj=con.newInstance(实参);
method.invoke(obj,实参);
获取属性  Field  field=class1.getField("字段名");
field.set();
多看点视频吧 都有讲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马