JAVA反射之内省

Posted 沙漠里的橘子皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA反射之内省相关的知识,希望对你有一定的参考价值。

JavaBean:
就是一个java类
属性全部私有,提供公有的getter,setter方法
提供一个无参的构造方法
类必须公有,必须打包


JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省。

内省API:
Introspector类: 构建一个全面描述目标 bean 的 BeanInfo 对象
BeanInfo接口:封装bean的信息 实例通过Introspector的静态方法getBeanInfo(Class<?> beanClass)得到
MethodDescriptor[] getMethodDescriptors():返回该bean类的所有方法的描述信息
PropertyDescriptor[] getPropertyDescriptors():返回该bean类的所有属性的描述信息


-------------------------------------------------
MethodDescriptor类:描述方法
Method getMethod()

重点常用方法:
PropertyDescriptor类:描述属性
PropertyDescriptor(String propertyName, Class<?> beanClass):根据指定的属性名和目标bean类的class对象创建一个PropertyDescriptor 对象
Class<?> getPropertyType():返回属性类型的class对象
Method getReadMethod():返回属性的get方法
Method getWriteMethod():返回属性的set方法
---------------------------------------------------------

Array 类提供了动态创建和访问 Java 数组的方法。
static Object newInstance(Class<?> componentType,int... dimensions):创建一个多维动态数组 第一个参数指定元素类型,第二个指定每个维度的长度
static Object newInstance(Class<?> componentType, int length) :创建一个一维度数组 第一个参数指定元素类型,第二个指定数组长度

static void set(Object array, int index, Object value):设置指定数组 指定索引的元素为指定值
static Object get(Object array, int index):获取数组指定索引的元素
static int getLength(Object array):获取数组长度

-----------------------------------
























以上是关于JAVA反射之内省的主要内容,如果未能解决你的问题,请参考以下文章

day27(反射之内省机制实现BeanUtils)

Java 反射 ParameterizedType 参数化类型

Java 虚拟机原理Java 反射原理 ( 反射作用 | 反射用法 )

Java Reflection (JAVA反射)机制详解

JAVA反射Field

反射机制在java中如何做呀?