【发布时间】:2013-03-15 12:45:36
【问题描述】:
我找到了下面的代码 sn-p :
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) {
System.out.println("Inside main");
}
static {
try {
Field value = String.class.getDeclaredField("value");
value.setAccessible(true);
value.set("Inside main", value.get("Inside static bolck"));
} catch (Exception e) {
throw new AssertionError(e);
}
}
}
根据我的理解,输出应该是Inside static bolck,但输出是Inside stat,与Inside main的字符长度相同。
*如果我增加 Inside main 的长度,输出长度也会增加。
有人可以解释一下吗?
我对反射的了解不多。
【问题讨论】:
-
它为我打印
Inside static bolck。您使用的是什么版本的 JDK/JRE? -
IBM 32 位 SDK for Windows,Java 技术版,第 6 版
-
我会重复 NPE 的问题,因为我也很渴望 -- 无论如何,你打算用这个去哪里?
-
我找到了代码 sn-p。我没有对此做任何事情。这只是为了我的知识
-
Downvoater 能否请您发表评论,以便我改进我的问题..
标签: java reflection