1.反射机制定义
java反射机制是在运行状态中,获取任意一个类的结构 , 创建对象 , 得到方法,执行方法 , 属性 ; 这种在运行状态动态获取信息以及动态调用对象方法的功能被称为java语言的反射机制。
2.反射机制的运行过程
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。
3.获取 Class 对象有三种方式
//1.通过字符串获取Class对象,这个字符串必须带上完整路径名 ClassstudentClass=Class.forName("com.test.reflection.Student"); //2.通过类的class属性 ClassstudentClass2=Student.class; //3.通过对象的getClass()函数 StudentstudentObject=newStudent(); ClassstudentClass3=studentObject.getClass();
第一种方法是通过类的全路径字符串获取 Class 对象,这也是我们平时最常用的反射获取 Class 对象的方法;
第二种方法有限制条件:需要导入类的包;
第三种方法已经有了 Student 对象,不再需要反射。
通过这三种方式获取到的 Class 对象是同一个,也就是说 Java 运行时,每一个类只会生成一个 Class 对象。
以上就是java反射机制的分析,相信经过本篇具体分析程序运行时的操作,我们会发现反射机制用到的其实是class类,而class保存了相关的信息。
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容