欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

论java之反射机制,访问类中私有变量,调用私有方法

发布时间:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 论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();} } }

运行结果

-1 10000 99090


转载于:https://blog.51cto.com/8701404/1375778

总结

以上是生活随笔为你收集整理的论java之反射机制,访问类中私有变量,调用私有方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。