美文网首页
Java反射

Java反射

作者: hehehehe | 来源:发表于2020-09-01 16:05 被阅读0次
    什么是反射机制

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(注意关键词:运行状态)换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods

    反射机制主要提供的功能

    在运行时判断任意一个对象所属的类;
    在运行时构造任意一个类的对象;
    在运行时判断任意一个类所具有的成员变量和方法;
    在运行时调用任意一个对象的方法;

    java Reflection API简介

    Class类:代表一个类,位于java.lang包下
    Field类:代表类的成员变量(成员变量也称为类的属性)
    Method类:代表类的方法
    Constructor类:代表类的构造方法
    Array类:提供了动态创建数组,以及访问数组的元素的静态方法

    java中的Class介绍

    Class 类十分特殊,它没有共有的构造方法,被jvm调用的(简单的理解:new对象或者被类加载器加载的时候),在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。

    java中的Class三种获取方式

    利用对象调用getClass()方法获取该对象的Class实例;
    使用Class类的静态方法forName(),用类的名字获取一个Class实例 ;
    运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例;
    说明:在运行期间,如果我们要产生某个类的对象,Java虚拟机(JVM)会检查该类型的Class对象是否已被加载。如果没有被加载,JVM会根据类的名称找到.class文件并加载它。一旦某个类型的Class对象已被加载到内存,就可以用它来产生该类型的所有对象。

    相关文章

      网友评论

          本文标题:Java反射

          本文链接:https://www.haomeiwen.com/subject/ogpvsktx.html