• 注解与反射_反射


    什么是反射

            反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java的反射机制

    反射的作用

            通过Java的反射机制可以读取与修改字节码文件(.class文件)

    如何进行反射

            Java的反射依赖Class类、Field类、Method类、Constructor类进行,获取后三者需要先获取Class

    描述
    java.lang.Class代表整个字节码。代表类。
    java.lang.reflect.Field代表字节码中的属性字节码。代表类中的属性
    java.lang.reflect.Method代表字节码中的方法字节码。代表类中的方法。
    java.lang.reflect.Constructor代表字节码中的构造方法字节码。代表类中的构造方法。

    什么是Class类?

            在Java中,一个类存在一个相对应的Class类对象

            一个类被编译完成后,将生成一个对应的Class对象,保存为同名的.class文件,其中存储了该类的运行时类型信息

    如何获取Class对象

    1. //三种获得Class对象的方式 与 获取父类的Class对象
    2. public class Part01 {
    3. public static void main(String[] args) throws ClassNotFoundException {
    4. //本质上class01、class02、class03是(地址)相同的 因为一个类的Class对象只会存在一个
    5. //通过全限定名获得
    6. Class class01 = Class.forName("cn.alan.reflection.part_01.User");
    7. //通过实例对象获得
    8. User user = new User();
    9. Class class02 = user.getClass();
    10. //通过类名获得
    11. Class class03 = User.class;
    12. //获取父类的Class对象
    13. //可视为另一种获取Class对象的方式 即通过子类获取
    14. Class class04 = VipUser.class;
    15. Class class05 = class04.getSuperclass();
    16. }
    17. }

    注:对于基本数据类型的封装类,可采用.TYPE来获取对应的基本数据类型的Class对象

  • 相关阅读:
    LibreOJ - 6053(积性函数前缀和,pn筛角度)
    Kubernetes:容器资源需求与限制(约束)
    SpringMVC之全局异常拦截器
    Python文件操作
    JAVA 项目<果园之窗>_2
    每日更新SQL练习题之第一天
    神经网络的主要内容特点,神经网络的种类和特点
    Java正则表达式
    动环监控系统什么牌子好?动环监控有哪些厂家
    C++面试八股文:如何实现一个strncpy函数?
  • 原文地址:https://blog.csdn.net/Mudrock__/article/details/126213546