Field类代表某个类中的一个成员变量
得到某个类的成员变量:
Field field = Point.class.getField("x");
改变成员变量的值:
field.set(point, 10);
得到某个类的成员方法:
Method method = Point.class.getMethod("setY", int.class);
调用成员方法:
method.invoke(point, 20);
获取私有的成员变量和成员方法:
Field field = Point.class.getDeclaredField("x");
Method method = Point.class.getDeclaredMethod("setY", int.class);
field.setAccessible(true);
method.setAccessible(true);
改变静态变量的值和调用静态方法时第一个参数传null即可:
field.set(null, 10);
method.invoke(null, 20);
public class Point {
private static int z = 0;
private int x;
private int y;
public Point(int x,int y){
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public static int getZ(){
return z;
}
}
Android 开发交流群:245461612