BeanInfo beanInfo = Introspector.getBeanInfo(String.class);//任意一个类
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
for (int i = 0; i < pds.length; i++) {
String name = pds[i].getName();
System.out.println(name); //都有class这个属性
}
所以我猜测是Object类有这个属性,查源码发现没有class属性,只有getClass()方法,
然后我又自己写了一个getX(),但没有x这个成员变量,输出结果也有x。所以我觉得这个BeanInfo.getPropertyDescriptors()
是根据方法名getXxx(),isXxx(),setXxx()来判断属性的,不知道对不对? |
|