技术文章 > java >  java基础 > 正文

java反射机制的分析

小妮浅浅

在我们想要调用一些类或是方法的时候,除了针对它们每一个的属性进行学习外,最快的方法就是运用反射的机制。那么对于这种直接调用,想必很多人都好奇它是怎么实现的。其实这跟class类是密不可分的。下面我们了解反射机制的定义,在运行时会发现class类的作用,最后为大家分享三种class的获取。

1.反射机制定义

java反射机制是在运行状态中,获取任意一个类的结构 , 创建对象 , 得到方法,执行方法 , 属性 ; 这种在运行状态动态获取信息以及动态调用对象方法的功能被称为java语言的反射机制。

2.反射机制的运行过程

Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。

3.获取 Class 对象有三种方式

// 1.通过字符串获取Class对象,这个字符串必须带上完整路径名
Class studentClass = Class.forName("com.test.reflection.Student");
// 2.通过类的class属性
Class studentClass2 = Student.class;
// 3.通过对象的getClass()函数
Student studentObject = new Student();
Class studentClass3 = studentObject.getClass();

第一种方法是通过类的全路径字符串获取 Class 对象,这也是我们平时最常用的反射获取 Class 对象的方法;

第二种方法有限制条件:需要导入类的包;

第三种方法已经有了 Student 对象,不再需要反射。

通过这三种方式获取到的 Class 对象是同一个,也就是说 Java 运行时,每一个类只会生成一个 Class 对象。

以上就是java反射机制的分析,相信经过本篇具体分析程序运行时的操作,我们会发现反射机制用到的其实是class类,而class保存了相关的信息。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  java中可变参数的内容介绍
  java中Spring框架下载详解
  java二分查找的原理实现
  java中斐波那契查找的基本介绍
  java中可变参数列表的实现方法
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 440
python pyg2plot的原理 345
python中pyg2plot如何使用? 155
推荐视频
视频教程分类