利用反射分析类的能力,使用反射分析对象

1.反射机制最重要的内容:检查类的结构

      在java.lang.reflect包中有三个类Field、Method和Constructor分别用来描述类的域、方法和构造器。三者都有一个getName的方法,用来返回项目的名称。Field类有一个getType方法,用来返回描述域所属类型的Class对象。Method 和Constructor 类有能够报告参数类型的方法,Method类还有可以报告返回类型的方法。   

      这三个类还有一个getModifiers的方法,它将返回一个整型数值,用不同的位开关描述public和static这用的修饰符使用状况。

      调用Modifier类的相应方法,并对返回的整型数值进行分析,还可以利用Modifier.toString方法将修饰符打印出来。

2.使用反射分析对象分两步:

a)获取对用的Class对象  

b)通过Class对象调用getDeclaredFields

        查看对象域的关键方法是Field类中的get方法。反射机制的默认行为受限制于Java的访问控制,需要调用Field、Method和Constructor对象的setAccessible方法。

       调用f.set(obj, value)可以将obj对象的f域设置成新值。

       例子:Employeeharry = new Employee(“Harry Hacker”, 2500, 9, 8, 1992);

                  Class cl = harry.getClass;

                  Field f = cl.getDeclaredField(“name”);

                  Object v = f.get(harry);    //Harry Hacker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值