码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA反射之内省

时间:2019-02-17 15:28:13      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:ros   动态   span   script   val   属性   setter   get   长度   

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反射之内省

标签:ros   动态   span   script   val   属性   setter   get   长度   

原文地址:https://www.cnblogs.com/java888/p/10391315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!