感觉是是可以从字段(field)可以获取,字段的读方法,和写方法,(当然要读写方法都要按照规则写)
package introspection;
public class Introspection {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return this.y;
}
public void setY(int y) {
this.y = y;
}
public Introspection(int x, int y) {
this.x = x;
this.y = y;
}
}
package introspection;
import java.beans.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestNeixing {
public static void main(String[] args) throws IntrospectionException, IllegalArgumentException, IllegalAccessException,
InvocationTargetException {
Introspection introspection = new Introspection(45, 34);
String propertyName = "x";
PropertyDescriptor pd = new PropertyDescriptor(propertyName, introspection.getClass());
Method methodGetX = pd.getReadMethod();
Object obj = methodGetX.invoke(introspection);
System.out.println(obj);
Method methodSetX = pd.getWriteMethod();
methodSetX.invoke(introspection, 7);
System.out.println(introspection.getX());
}
}