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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-5-12 15:02  /  11662 人查看  /  97 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

常小天
反射:通过字节码对象获取并调用任意类的任意成员,包括私有的。
字节码文件:由程序员编写的程序转换而成的能然机器读懂的文件。
反射的使用:
1、获取字节码对象
2、通过字节码对象调用newInstance方法创建类的无参构造对象,或者通过字节码对象调用getConstructor方法获取构造方法对象,再通过构造方法对象调用newInstance(实际参数列表)方法创建类的对象。
3、通过字节码对象调用getDeclaredFields()方法获取成员变量对象,再通过获取的成员变量对象调用setAccessible方法取消变量权限检测,最后通过成员变量对象调用get(Object obj)方法和set(Object obj)方法对成员变量进行操作。
4、通过字节码对象调用get DeclaredMethod(String name,参数类型.Class…)方法获取成员方法对象,通过成员方法对象调用setAccessible方法取消变量权限检测,最后通过调用invoke(Object obj,实际参数列表)方法执行自身所指代的方法。
JavaBean:标准类
BeanUtils的作用:简化了JavaBean的封装数据的操作
BeanUtils重点方法:
static  void        populate(Object bean, Map properties)   通过map键值对给指定对象的成员变量进行赋值
自定义BeanUtils工具类:核心为通过反射获取字节码对象,通过字节码对象获取成员的对象,通过成员对象调用方法获取和设置变量值,可使用暴力反射
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马