【反射】

JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是 Class 类中的方法.所以先要获取到每一个字节码文件对应的 Class 类型的对象。
利用 class 文件对象,去使用该文件中的成员变量,构造方法,成员方法。
通过反射获取构造方法并使用:
获取构造方法
getConstructors
getDeclaredConstructors
创建对象
newInstance()
con.newInstance(“zhangsan", 20);
通过反射获取成员变量并使用:
获取所有成员
getFields,
getDeclaredFields
获取单个成员
getField,
getDeclaredField
修改成员的值
set(Object obj,Object value)
将指定对象变量上此 Field 对象表示的字段设置为指定的新值。
通过反射获取成员方法并使用:
获取所有方法
getMethods
getDeclaredMethods
获取单个方法
getMethod
getDeclaredMethod
暴力访问
method.setAccessible(true);
终身学习者
原文地址:https://www.cnblogs.com/zuixinxian/p/11275217.html