杂乱笔记-myday2

反射 就是加载类,并解剖出类的各个组成部分,如成员变量、方法、构造方法等
加载类: Class.forName()
解剖类: getXXX()
Constructor 构造方法
getConstructor()
getDeclaredConstructor()
newInstance()
setAccessible() //暴力反射
Method 方法
getMethod()
getDeclaredMethod
invoke()
setAccessible()
Field 字段
getField
getDeclaredField()
setAccessible()

get()

字段中含有getXXX()或setXXX()方法的可称属性


内省introspector

内省(Introspector) 是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。

PropertyDescriptor类:

   PropertyDescriptor类表示JavaBean类通过存储器导出一个属性。主要方法:
       1. getPropertyType(),获得属性的Class对象;
       2. getReadMethod(),获得用于读取属性值的方法;getWriteMethod(),获得用于写入属性值的方法;
       3. hashCode(),获取对象的哈希值;
       4. setReadMethod(Method readMethod),设置用于读取属性值的方法;
       5. setWriteMethod(Method writeMethod),设置用于写入属性值的方法。

Introspector类:

   将JavaBean中的属性封装起来进行操作。

在程序把一个类当做JavaBean来看,就是调用Introspector.getBeanInfo()方法,得到的BeanInfo对象封装了把这个类当做JavaBean看的结果信息,即属性的信息。

getPropertyDescriptors(),获得属性的描述,可以采用遍历BeanInfo的方法,来查找、设置类的属性。

通过这两个类的比较可以看出,都是需要获得PropertyDescriptor,只是方式不一样:前者通过创建对象直接获得,后者需要遍历,所以使用PropertyDescriptor类更加方便。

BeanUtils工具包(前面有提到)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值