我不熟悉 java bean 框架,在下面的场景中,我得到了方法 getFooWithX 的 IndexedPropertyDescriptor,有人可以解释为什么吗?
public class IntrospectorTest {
public static void main(String[] args) throws IntrospectionException {
BeanInfo info = Introspector.getBeanInfo(SubClass.class);
PropertyDescriptor[] descriptors = info.getPropertyDescriptors();
for (int i = 0; i < descriptors.length; i++) {
System.out.println(descriptors[i].getClass().getName() + ":" + descriptors[i].getName());
}
}
}
abstract class BaseClass {
public abstract Object getFoo();
}
abstract class SubClass extends BaseClass {
public Object getFooWithX(int x) {
return null;
}
}
结果将是:
java.beans.PropertyDescriptor:class
java.beans.PropertyDescriptor:foo
java.beans.IndexedPropertyDescriptor:fooWithX
为什么?