私はJavaのリフレクションAPIを模索していたと私は、次のコードスニペットJavaのリフレクションスニペット出力
public class Main {
public static void main(String[] args) throws IllegalAccessException, NoSuchFieldException{
Field value=Integer.class.getDeclaredField("value");
value.setAccessible(true);
value.set(42, 43);
System.out.printf("six times seven %d%n",6*7);
System.out.printf("six times seven %d%n",42);
System.out.println(42);
}
}
出力が発生しました:私はそれが値を設定することを述べているsetメソッドのドキュメントを読んで
six times seven 43
six times seven 43
42
を指定されたオブジェクトのフィールドのしかし、私はコードの出力を理解することができないので、すべてのケースで42を出力する必要があります。
誰でもコード内で何が起こっているのかを把握できますか?
http://www.dzone.com/snippets/reflection-integer-destroyer –