简单了解一下反射
反射的创建目前有三种
1.使用new关键字 最常见也最简单的创建对象的方式
2.使用Clone方法 调用一个对象的Clone的方法JVM就会创建一个新的对象,将之前的对象拷贝进去
3.使用反序列化 当我们序列化和反序列化一个对象时,JVM会给我们创建一个单独的对象
反射的常用场景有 动态代理、JDBC数据库操作、工厂模式优化等
因为反射的特性是在运行状态中对于任意一个类都可以获取到这个类的所有属性和方法,这也是为什么被称为框架的灵魂的原因
反射的优点是灵活性高 因为反射是动态编译,运行时才动态创建 获取对象
缺点 执行效率低 主要操作是通过JVM进行,所以时间成本高与直接执行相同操作
反射的使用
主要步骤包括:
1.获取 目标类型的Class对象
2.通过Class对象分别获取Constructor(构造)类对象、Method(属性)类对象、Field(域)类对象
3.通过Consturctor(构造)类对象、Method(属性)类对象、Field(域)类对象分别获取类的构造函数、方法、属性的具体信息,并进行后续操作。