Java中的反射(3)——在运行时使用反射分析实例化的对象

本文探讨如何在Java运行时使用反射分析已实例化的对象,包括获取并修改对象字段的值。通过getDeclaredField获取Field对象,然后通过setAccessible(true)授予访问权限,避免IllegalAccessException。此外,还介绍了Field的get和set方法,用于读取和修改对象字段。
摘要由CSDN通过智能技术生成

在上一篇我们学习了利用反射去分析一个类的能力,在这一篇我们将继续讲解利用反射去分析运行时的对象。

我们都知道对象是类的实例化,因此在创建一个对象的时候我们一般都会为这个对象所属类的相应字段设置相应的值,如上一篇创建的Persion类,当我们想实例化一个Persion对象的时候都会这样做:

Persion persion=new Persion(18,"张锡凯");
//这里我们就为这个类的age字段和name字段赋予了18和"张锡凯两个值

我们在这里就是要分析这个persion对象的age和name的实际值,方法如下:

Class cl=persion.getClass();
Filed f=cl.getDeclaredFiled("name");//根据类的字段名获取一个Filed对象
Object v=f.get(persion);//调用Filed对象的get()方法(参数为一个类的某一个实例对象),返回结果为这个对象的相应字段的实例值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值