8.3 成员变量的反射应用

p { margin-bottom: 0.21cm; }

暴力反射 : 暴力反射就是对于修饰符为private 的一些成员变量 强制设置为可以使用并且可以访问

设置为可以访问 ,但不能用 实例化field 的使用用getDeclaredField( "x" ) 得到字段名

得到值后设置为可以使用 Field fieldx.setAccessible( true );

try {

// 反射 field (成员变量)

ReflectPoint pt1 = new ReflectPoint(3,5);

Field fieldy = pt1.getClass().getField( "y" );

//fieldy 不是对象身上的变量 而是类上的变量 如果要用此变量 需要用 fieldy 在对象身上取对象身上的变量

System. out .println(fieldy.get(pt1));

// 对于私有的变量 ( 修饰符为 private) , 不能用 getField 进行取值

Field fieldx = pt1.getClass().getDeclaredField( "x" );

// x (私有变量)设置为可以访问

fieldx.setAccessible( true );

System. out .println(fieldx.get(pt1));

} catch (Exception e) {

// TODO : handle exception

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值