情景:
在一个方法中
class A {}
class B extends A{
private String token;
public String getAgentToken() {
return token;
}
public void setAgentToken(String token) {
this.token = token;
}
}
---------------------------------------------------------
public void test(A a){
这里面我需要在特定情况时获取A的子类的某个属性值(token);
}
那么这里可以使用反射
Method set = a.getClass().getMethod("setAgentToken",String.class);
set.invoke(a,"gg"); //设置新值
Method get = a.getClass().getMethod("getAgentToken",a.getClass().getDeclaredClasses());
System.out.println(get.invoke(a )); // 获取该属性值
B bb = (B)a;
System.out.println(bb.getAgentToken());