我无法获取字段值。我试图做的是在运行时获取对象。请让我知道我出错的地方。使用反射获取字段值
的Test.class
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, SecurityException,
IllegalArgumentException, IllegalAccessException {
final Field field = Class.forName("com.logging.EX").getDeclaredField("value");
field.setAccessible(true);
field.get(Class.forName("com.logging.EX"));
}
}
EX.class
public class EX {
private String value;
public EX(){
value="data";
}
/**
* @return the value
*/
public String getValue() {
return value;
}
/**
* @param value
* the value to set
*/
public void setValue(String value) {
this.value = value;
}
}
'value'是一个实例字段。你的'EX'实例在哪里? – Radiodef
我想在运行时获得EX的对象。 – rama
那么,为了得到'value'字段,你需要一个'EX'的实例,因为'value'是一个实例字段。现在你的代码试图做一个相当于'com.logging.EX.class.value'的错误。 – Radiodef