万恶之源 | 您所在的位置:网站首页 › parametertypes参数类型 › 万恶之源 |
文章目录
反射1.反射原理1.1【成员变量类】-成员变量Field模板1.2【成员方法类】-成员方法Method模板1.3【构造方法类】-构造方法Constructor模板
2.Class类型2.1概述2.2Class类型对象【三种】获取方法2.3案例代码
3.反射操作-实例化对象Constructor构造方法类型3.1概述3.2【三种】通过Class对象获取对应Constructor构造方法对象3.3Constructor对象实例化对象操作
4.反射操作-Method【核心】4.1概述4.2通过 Class 对象获取对应的 Method 成员方法对象4.3Method 成员方法对象执行对应方法操作
5.反射操作-FieId5.1概述5.2通过 Class 对象获取对应的 Field 成员变量对象5.3Field 对象操作获取数据和赋值数据
6.暴力反射
反射
1.反射原理
java中所有的类都是一个模板对java而言,整个类也是一个类型,是一个Class类型的类
class 类名{
成员变量;//Field
成员方法;//Method
构造方法;//Constructor
}
1.1【成员变量类】-成员变量Field模板
对于一个成员变量而言,变量名是唯一的。需要额外注意当前成员变量所在哪个类
修饰符 数据类型 成员变量名称
1.2【成员方法类】-成员方法Method模板
对于一个成员方法而言,调用时我们只需要关注方法名和形参列表需要额外注意当前成员方法所在哪个类
修饰符 返回值类型 方法名(形式参数列表);
1.3【构造方法类】-构造方法Constructor模板
对于一个构造方法而言,调用的唯一不同区别是形式参数列表也需要额外注意当前构造方法所在哪个类
修饰符 类型(形式参数列表);
2.Class类型
2.1概述
Class类型是java中所有类和接口的一种整体的模板的描述Class类型对应java类型在内存的方法区
class ClassName{
Field[] fields;//成员变量Field类型数组,成员变量个数不明确
Constructor[] constructors;//构造方法至少有一个,可能有多个
Method[] method;//成员方法个数也不明确,可能是一个多个或者没有
}
2.2Class类型对象【三种】获取方法
Class class.forName(Sting 包名+类名);
Class类型提供的静态成员方法,可以根据用户提供的完整包名.类名,获取对应数据类型的Class对象
功能 如果对应的类型已经在JVM中加载,直接获取如果对应的类型尚未加载,先加载对应类型,再获取对应的Class对象 Class |
CopyRight 2018-2019 实验室设备网 版权所有 |