Java private方法访问
2015-06-03 00:57
549 查看
Java中private修饰符修饰的方法或属性,只有在该类内可以访问,其他类均无法访问。事实真的是这样吗?下面一个例子可以实现访问一个类中的private方法,原理是通过Java的反射机制,感觉Java反射机制在这点似乎不太安全。
一个只有一个私有方法的类:
另外一个类,来调用PrivateMethod类中的私有的sayHello
编译并执行,你会看到奇迹的。
转自:http://blog.csdn.net/sunshinestation/article/details/3713717
一个只有一个私有方法的类:
package com.pcs; public class PrivateMethod{ private String sayHello(String name, Integer age, String sex){ return "Hello, " + name+" "+age+" "+sex; } }
另外一个类,来调用PrivateMethod类中的私有的sayHello
package com.pcs; import java.lang.reflect.Method; public class CallPrivateMethod{ public static void main(String[] args){ try { Class<?> c = Class.forName("com.pcs.PrivateMethod"); Method m = c.getDeclaredMethod("sayHello", String.class, Integer.class, String.class); m.setAccessible(true); System.out.println(m.invoke(c.newInstance(), "Super pan", 21, "男")); } catch (Exception e) { e.printStackTrace(); } } }
编译并执行,你会看到奇迹的。
转自:http://blog.csdn.net/sunshinestation/article/details/3713717
相关文章推荐
- Java批处理
- java事物处理
- spring3 + mybatis + maven:junit测试错误
- Java内存区域介绍与Java内存溢出异常分析
- Zookeeper Api(java)入门与应用(转)
- JavaWeb学习总结第四篇--Servlet开发
- java jdk查看源码
- Java反射技术一:基本知识点
- Java多线程小练习,闹钟
- java 解析excel,带合并单元的excel
- 【JAVA基础】浅析JAVA例外处理(转)
- ClassLoader类加载机制
- spring-mvc restful web services
- JAVA邮件发送的简单实现
- java两个变量交换值不借助第三个变量所想
- Java反射技术二:利用反射打印一个类的构造函数、方法、域
- 《Spring2之站立会议6》
- Java nio:浅析I/O模型
- Spring MVC 事务
- JAVA除法保留小数点后两位的两种方法