我正在通过反射检查“ReflectMe”类。
使用 getDeclaredFields 方法我得到了“str”字段。
现在我需要获取将静态方法分配给该字段的类“Target”。
可能吗?
代码:
package myproj.reflect;
public class Target {
public static final String theString = "abcd";
}
package myproj.reflect;
public class ReflectMe {
private String str = Target.theString;
}
public static void main(String[] args) {
ClassLoader loader = ClassLoader.getSystemClassLoader();
String theclass = "myproj.reflect.ReflectMe";
Class myClass = loader.loadClass(theclass);
Field[] fields = myClass.getDeclaredFields();
}
}
换句话说,我需要获取“Target”类。
最佳答案
如果您希望通过 ReflectMe
的类定义获取 Target
类。该领域,我不认为你可以通过反射 API 做到这一点;您可以获取类定义和实例变量的值,但无法内省(introspection)表达式本身。
关于java - 获取分配给字段的对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13405741/