当前位置: 首页 > 网络应用技术

反射(特定分析)

时间:2023-03-07 11:55:55 网络应用技术

  反思的来源:class.so班级非常重要

  基于这个人班

  1.类加载过程:程序通过javac.exe命令后,将生成一个或多个字节码文件(end),然后我们使用java.exe命令来解释字节代码文件。它等同于加载一个字节代码文件到内存。此过程称为类加载。加载到内存的类,我们调用运行时类,此运行时类,作为类“一切都是对象”的示例。2。换句话说,换句话说,类对应于运行时类。(class clazz = person.class)3。加载到内存时运行,它将在一定时间缓存。在此时间,您可以通过以下四种方式获得此运行时类(需要掌握前三种类型)

  以上结果为真

  班级加载程序的角色:

  前面提到的属性有两种读取文件资源的方法

  getfields():获取当前运行时类及其父类的属性作为公共访问权限

  getDeclaredFields():获取当前运行时类中声明的所有属性(不包括父类)

  字段的对象.getModifiers():获取类中属性的权限修改器,返回值为int.0表示默认值,2表示私有,1表示public。

  modifier.tostring(int modifer = field.getModifiers())获取权限修饰符

  字段对象.getType():类中属性的数据类型

  字段对象.getName:类中属性的变量名称

  getMethods():作为公共访问权限获得当前运行时及其父类的方法

  getDeclaredMethods():当前运行时类中声明的所有方法(不包括父类)

  getAnnotations:当前运行时类的注释及其父类作为公共访问权限

  如何调用私人属性无法调用

  您可以调用私人属性的方式(使用反射)

  仅发布调用私人非静态方法的方式(使用反射)

  如何调用私人静态方法(使用反射)

  调用构造函数

  原始:https://juejin.cn/post/7099476212950499365