内省
开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。
JavaBean
- 所有属性为private。
- 这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。
- 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
- 这个类应是可序列化的。实现serializable接口。
字段和属性
private String name;//当没有提供get方法时,叫做字段
public String getName(){//当提供get方法或只提供get方法时,叫属性
return name;
}
使用内省api操作javaBean属性
获取javaBean所有属性
public void test1() throws Exception {
BeanInfo info = Introspector.getBeanInfo(Person.class, Object.class);
// 一个参数是获取所有的属性(带父类),两个参数是获取自己的属性(不带后面参数类的属性)
PropertyDescriptor[] pds = info.getPropertyDescriptors();// 属性描述器
for (PropertyDescriptor pd : pds) {
System.out.p