没有合适的资源?快使用搜索试试~ 我知道了~
首页Java反射经典实例 Java Reflection Cookbook[1].pdf
资源详情
资源评论
资源推荐

Java反射经典实例 Java Reflection
Cookbook
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套
机制就叫——反射。反射机制是如 今很多流行框架的实现基础,其中包括
Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例
中学习这套精彩的机制。
1. 得到某个对象的属性
1 public Object getProperty(Object owner, String fieldName) throws Exception {
2 Class ownerClass = owner.getClass();
3
4 Field field = ownerClass.getField(fieldName);
5
6 Object property = field.get(owner);
7
8 return property;
9 }
Class ownerClass = owner.getClass():得到该对象的Class。
Field field = ownerClass.getField(fieldName):通过Class得到类声明的
属性。
Object property = field.get(owner):通过对象得到该属性的实例,如果这
个属性是非公有的,这里会报IllegalAccessException。
2. 得到某个类的静态属性
1 public Object getStaticProperty(String className, String fieldName)
2 throws Exception {
3 Class ownerClass = Class.forName(className);
4
5 Field field = ownerClass.getField(fieldName);
6
7 Object property = field.get(ownerClass);
8
9 return property;
10 }
Class ownerClass = Class.forName(className) :首先得到这个类的
Class。
Field field = ownerClass.getField(fieldName):和上面一样,通过
Class得到类声明的属性。
Object property = field.get(ownerClass) :这里和上面有些不同,因为该
属性是静态的,所以直接从类的Class里取。
3. 执行某对象的方法














安全验证
文档复制为VIP权益,开通VIP直接复制

评论4