JAVA 反射机制
2016-06-12 23:08
471 查看
一、首先应该获取Class类加载器的信息 有2种方式
1、Class myObjectClass = MyObject.class;2、Class class = Class.forName(className);
二、获取要操作的具体对象 如:method、filed 等
1、获取构造器Constructor constructor = MyObject.class.getConstructor(String.class); MyObject myObject = (MyObject) constructor.newInstance("constructor-arg1")
2、获取变量
MyObject objectInstance = new MyObject(); Object value = field.get(objectInstance); field.set(objetInstance, value);
3、获取方法
MyObject objectInstance = new MyObject(); Method method = MyObject.class.getMethod("doSomething", String.class); Object returnValue = method.invoke(objectInstance , "parameter-value1");
4、获取私有变量
Field privateStringField = PrivateObject.class. getDeclaredField("privateString"); privateStringField.setAccessible(true); String fieldValue = (String) privateStringField.get(privateObject);
5、获取私有方法
Method privateStringMethod = PrivateObject.class. getDeclaredMethod("getPrivateString", null); privateStringMethod.setAccessible(true); String returnValue = (String) privateStringMethod.invoke(privateObject, null);
相关文章推荐
- Eclipse上安装Genymotion插件(新手或找不到安装源的进来看看,给大家图个方便)
- 《编程导论(Java)·9.2.3 案例:M集》
- “中兴捧月”比赛之——二叉查找树(BST)树的最短路径Java求解
- Java环境配置及Hello World!程序运行与调试。
- java异常处理 throw throws
- eclipse下添加viplugin插件的方法
- springmvc集成shiro登录失败处理
- JDK的get请求方式
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
- Quartz与Spring强强联手,定时任务实现更容易
- MyEclipse快捷键大全
- 【GOF23设计模式】_享元模式_享元池_内部状态_外部状态_线程池_连接池JAVA242
- Java集合框架中list.set.map特点
- java笔记
- JAVA.SWT/JFace: JFace篇之文本处理
- Java中String类的特点
- java集合入门
- 6_12 java WEB 第一节课
- 远程服务器存储之JDK的get请求方式