获取和设置字段(Field)对象的值

Java反射学习步骤:

1、  什么是反射机制?

2、  获取字节码文件对象(class)

3、  (Consrtuctor)用字节码对象(class) new一个对象

4、  获取和设置字段(Field)对象的值

5、获取指定class的函数(Method)并对其调用

6、反射实例


获取和设置字段(Field)对象的值

 

 

package reflect.demo;

/*

 * 需求:

 *                  获取和设置字段对象的值。

 * 步骤:

 * 1、要有Person对象obj

 * 2、要有字段Field对象

 * 3、通过字段对象的set(obj,89)方法设置

 * 4、通过字段对象的get(obj)获取。

 *

 */

import java.lang.reflect.Field;

 

publicclass ReflectDemo3 {

 

       publicstaticvoidmain(String[] args) throws Exception {

              getFieldDemo();

       }

//获取字节码文件中的字段。

       public  staticvoid getFieldDemo() throwsException {

              Class clazz=Class.forName("been.Person");

              Field field=null;//clazz.getField("age");//只能获取共有的。

              field=clazz.getDeclaredField("age");//获取所有类型的字段

             

              field.setAccessible(true);//对私有字段的访问取消权限检查。暴力访问。

             

              //得到字段对象后,可以获取到字段对象的内容,也可设置该字段的值。

//            been.Person p=new been.Person();//参照原先方式类对成员的调用

//            p.age=32;

              Object obj=clazz.newInstance();//指明是什么类。

              field.set(obj, 89);

              Object o=field.get(obj);//与p.age一样,要指明是什么类。

              System.out.println(o);

             

       }

 

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗志盛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值