我正在通过反思检查“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();
}
}
换句话说,我需要获得“目标”课程。
答案 0 :(得分:2)
如果您希望通过Target
的类定义获取ReflectMe
类。在这个领域,我认为你不能通过反射API来做到这一点;你可以得到类定义和实例变量的值,但你不能自己反省表达式。