1 、通过Class类中的:
getField(String propertyName)
参数列表:属性的名称
返回值类型:Field,表示一个成员变量对象,所属的类型
2 、Field类型:表示一个成员变量类型,每个对象都是一个具体的成员变量
作用:获取成员变量的各种信息(修饰符、注解、名称);做各种数据类型的转换
赋值:set(Object obj, Object value),用于给obj对象的,该成员变量,赋value值
暴力反射
1、通过Class类中:
getDeclaredXxx方法:可以获取类中的所有声明的成员(属性、方法、内部类),私有的成员也可以获取到。
2、修改该对象的访问权限:
成员变量、构造方法还是成员方法,都是AccessibleObject类型的子类,就具有判断是否可以访问,和设置是否可以访问的方法
isAccessible():判断当前对象是否可以访问
setAccessible(boolean flag):设定当前对象是否可以访问
3、一旦设定当前对象可以访问,私有的成员也可以被访问,被修改
Fied |