反射

发布时间 2023-06-25 14:59:56作者: Hmzzz2

reflection反射

  • 动态语言:运行时可以改变自身结构的语言

  • 反射是java被视为动态语言的关键

反射优点

  • 实现动态创建对象和编译,体现出很大的灵活性

反射缺点

  • 对性能有一定影响

判断两个实体是不是同一个类

打印实体的hashcode

反射流程

实例化对象 -> getClass()方法(照镜子) -> 得到完整的包类名称

Class类

类加载完后会产生一个Class类型的对象,这个对象包含了完整的类的结构信息

  • 一个类只有一个Class对象

  • Class本身也是一个类,只能由系统建立对象

Class类的创建方式

  • 通过对象获得

  • forname获得

  • 通过类名.class获得

类主动引用时才会发生类的初始化

  • new一个类的对象

  • 调用类的静态成员(除了final常量)和静态方法