Java反射アクセスプライベートメンバー
2476 ワード
field.setAccessible(true);
- import java.lang.reflect.*;
-
- public class Main
- {
- class Test
- {
- private int id = 5;
-
- }
-
- public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InstantiationException
- {
-
- Field field = Test.class.getDeclaredField("id");
- field.setAccessible(true);//suppress Java language access checking
-
- Main m = new Main();
- Test obj = m.new Test();
- int id = field.getInt(obj);
-
- System.out.println(id);
- }
- }