论java之反射机制,访问类中私有变量,调用私有方法
生活随笔
收集整理的这篇文章主要介绍了
论java之反射机制,访问类中私有变量,调用私有方法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
我对于发射机制的了解就是它非常流氓,不顾成员变量或成员方法前的保护机制是什么,都可以访问。非常霸道!
这也告诉我们开发中须谨慎使用,否则后果严重。什么访问权限都形同虚设了
先是一个类文件
//f.java public class f{ private int i; f(){ i = -1; } private void set(int aa){ this.i = aa; } public int get(){ return this.i; } }另一个main文件
//fanshe.java import java.lang.reflect.*; public class fanshe { public static void main(String[] args) { // TODO Auto-generated method stubtry{fanshe fan = new fanshe();f f1 = new f();System.out.println(f1.get());Class c = f1.getClass();Method method = c.getDeclaredMethod("set", int.class);method.setAccessible(true);method.invoke(f1, 10000);System.out.println(f1.get());Field field = c.getDeclaredField("i");field.setAccessible(true);field.set(f1, new Integer(99090));System.out.println(f1.get());}catch(Exception e){e.printStackTrace();} } }运行结果
转载于:https://blog.51cto.com/8701404/1375778
总结
以上是生活随笔为你收集整理的论java之反射机制,访问类中私有变量,调用私有方法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python3的 time库的使用
- 下一篇: [转]感青春