概念
动态地获取指定的类以及动态的调用类中的内容
原因及应用场景
程序已写好,后期出现的接口子类无法直接在该程序中用new创建对象,因为子类不确定,所以可以通过配对外提供配置文件的形式,将不确定的信息储存到配置文件中即可,该程序只需要写好如何读取配置文件信息即可,如果存储了指定的子类名,就根据具体的名称找到该类并进行加载和对象的创建,这些动作在前期定义软件时写好的,没有类之前,就将创建对象动作完成了,这就是动态地获取指定的类,并使用类中的功能,反射技术
好处
又一次提高了程序的扩展性(多态也是一种提高程序的扩展性的方式)
Class类(描述为字段)
类文件中的内容(包含)
成员变量
构造函数
相关功能
将其抽取出来-----》Class类
成员
字段(Field)对象
- Field field;
构造函数(Constructor)对象
- Constructor cons;
方法(Method)对象
- Method method;
- 还包括对成员变量进行操作的Set和Get方法
获取字节码文件对象
方法(getClass)
要想获取字节码文件中的成员,必须要先获取字节码文件对象
1.通过Object类中的getClass方法//前提:必须有指定类,并对该类进行对象的创建
2.使用的是任