Java 反射机制

反射: 将类的各个部分封装成对象,这就是反射机制
可以在运行过程中 操作这些对象

类加载有下面几个阶段


image.png

获取Class对象的方式

  1. Class.forName("全类名"):将字节码加载进内存,返回class对象
    多用于配置文件,将类名定义在配置文件中,读取文件,加载类

2.类名.class :通过类名的属性class获取
多用于参数的传递

3.对象.getClass();在Object定义
多用于对象的获取字节码

public class ReflectionDemo {
    public static void main(String[] args) throws ClassNotFoundException {
        //使用类名获取
        Class cls1 = Class.forName("Java_Basic.Person");
        System.out.println(cls1);

        // 类名.class
        Class cls2= Person.class;
        System.out.println(cls2);

        //对象.getClass()
        Person p = new Person();
        Class cls3=p.getClass();

        System.out.println(cls1==cls2);
        System.out.println(cls2==cls3);
        
        
    }
}

比较三个结果都是true
说明类对象在加载过程中只会被加载一次

Class对象的功能

获取功能
  获取成员变量们
  获取构造方法们
  获取成员方法们
  获取类名
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 框架的概念 ​ 半成品软件。可以在框架的基础上进行软件开发,简化编码。学习框架并不需要了解反射,但是要...
    AaFaa阅读 298评论 0 0
  • 反射是框架设计的灵魂 软件框架:软件本成品,能够帮助我们提高开发效率。Spring,SpringMVC,Mybat...
    六艺str阅读 260评论 0 0
  • Java 语言允许通过程序化的方式间接对 Class 进行操作, Class 文件由类装载器装载后,在 JVM 中...
    deniro阅读 1,369评论 0 40
  • 一、Java的解释机制 Java编写的程序,一次编译,只要装有Java虚拟机JVM的地方就可以在任意平台到处运行。...
    BestFei阅读 311评论 0 2
  • 1.理解反射的基础:Class类 众所周知Java有个Object 类,是所有Java 类的继承根源,其内声明了数...
    Cat9527阅读 557评论 1 5