java反射(获取私有成员,还有公有成员变量)
2018-05-12 22:38
197 查看
不推荐(破坏了类的封装)
下面用到的对象Class A ,Constructor con,Field field
1.获取私有方法Constructor[] cons = A.getDeclaredConstructors();//获取所有的构造方法返回一个数组 还有getDeclaredConstruct(Class<T> class...)用于获取特定的构造方法
con.newInstance(Object...);//若权限是private是不能直接执行的Constructor的父类AccessibleObject中的setAccessible(boolean)方法用来选择是否要检查权限
con.setAccessible(true);//确认不用检查权限,所以上面一句就能执行2.获取成员变量
Field[] fields = A.getFields();//获得A类的所有公有成员变量,返回值为Field[](没加s的话返回值为Field(成员类的String对象名))
getDeclaredFields();//与其类似 同时破除权限检查的方法field.setAccessible(true);
field.set(obj,value);//两个参数都是Object类 obj是field的依附实例类对象(有对象才有的成员,不然哪里来的这个成员),value则是想改变的值
阅读更多
相关文章推荐
- java 使用反射机制来获取私有方法和成员变量
- Java之反射获取私有成员变量-yellowcong
- Java反射操作私有成员变量 Class can not access a member with modifiers "private"
- Java反射(四)----- 获取成员变量和构造函数信息
- Java反射获取成员变量
- Java通过反射来获取类的私有构造方法和成员方法
- java反射2-获取构造方法、成员变量、成员方法
- java 反射 - 获取成员变量的值.
- Android(java)学习笔记109:通过反射获取成员变量和成员方法并且使用
- Java--Reflect(反射)专题4——获取成员变量以及构造函数信息
- java中反射操作私有成员变量
- java反射--获取成员变量信息
- java反射,获取类对象所有成员变量,从字符串调用函数
- Java反射打印类的信息,包括类的成员函数、成员变量(只获取成员函数)
- Java(通过反射获取成员变量并使用)
- 反射机制的概述和字节码对象的获取,通过反射获取构造方法并使用;通过反射获取成员变量并使用;通过反射获取私有成员变量并使用;通过反射获取成员方法并使用
- Java通过反射访问私有成员变量和私有方法
- java 反射机制 读取私有成员变量
- java利用反射来调用一个类的私有方法和成员变量
- Java使用反射来获取成员变量泛型信息