2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》
@[TOC]
2.2.4 获取Class对象的三种方式
首先来进行了解一下Class类。Class对象是Java类反射的基础,包含了与类相关的信息。进入Class对象的源码进行查看,可以发现Class对象就是java.lang.Class这个类生成的对象,其中类型参数T表示由该Class建模的类的类型。比如说:User.class的类型就是Class。如果被建模的对象类型未知,则用?号代替,例如Class<?>。
我们可以看Class类的源码,来对Class对象进行进一步的了解。下面代码是Class源码上的注释。
/** * Instances of the class {@code Class} represent classes and * interfaces in a running Java application. An enum is a kind of * class and an annotation is a kind of interface. Every array also * belongs to a class that is reflected as a {@code Class} object * that is shared by all arrays with the same element type and number * of dimensions. The primitive Java types ({@code boolean}, * {@code byte}, {@code char}, {@code short}, * {@code int}, {@code long}, {@code float}, and * {@code double}), and the keyword {@code void} are also * represented as {@code Class} objects. * * <p> {@code Class} has no public constructor. Instead {@code Class} * objects are constructed automatically by the Java Virtual Machine as classes * are loaded and by calls to the {@code defineClass} method in the class * loader.
对于英文水平好的读者,建议直接读英文原文。我这里简单的翻译前面两段。
Class类的实例表示正在运行的 Java应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组也属于一个被映射为Class对象的类,所有具有相同元素类型和维数的数组都共享该Class对象。基本的Java类型(boolean、byte、char、short、int、long、float和double)和关键字void也表示为Class对象。
Class没有公共构造方法。Class对象是在加载类时由Java虚拟机以及通过调用类加载器中的defineClass方法自动构造的。
......
更多内容请阅读原文:
https://chenhx.blog.csdn.net/article/details/107923538

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java虚拟机(六):Java虚拟机栈-栈帧
Ⅰ. 栈帧内部结构 每个栈帧存储着:1.局部变量表(Local Variables)、2.操作数栈(Operand Stack)、3.动态链接(Dynamic Linking)、4.方法返回地址(Return Address)、5.一些附加信息 Ⅱ. 局部变量表 一、局部变量表基本理解 1.局部变量表也被称为局部变量数组或本地方法表 2.定义为一个数字数组,主要用于存储方法参数和定义在方法体内的局部变量这些数据类型包括各类基本数据类型、对象引用(reference),以及returnAddress 3.由于局部变量表是建立在线程的栈上,是线程私有的数据,因此不存在数据安全问题 4.局部变量表所需的容量大小是在编译期确定下来的,并保存在方法的Code属性的maximum local variables数据项中。在方法运行期间是不会改变局部变量表的大小的 5.方法嵌套调用的次数由栈的大小决定。一般来说,栈越大,方法嵌套调用次数越多。对一个函数而言,他的参数和局部变量越多,使得局部变量表膨胀,它的栈帧就越大,以满足方法调用所需传递的信息增大的需求。进而函数调用就会占用更多的栈空间。 6.局部...
- 下一篇
json从立地到成佛
声明 本文原创作者bigsai(同公众号),本文以浅显易懂的方式给大家讲解自己所认知的json,如果有错误或者不准确地方还请大家给出指正,另外本文以关卡课程的方式在博学谷也是免费开放的,大家也可通过关卡方式学习。链接地址。 诞生于JavaScript,json的前世今生 json含义 在开始之前,问个问题,什么是json? a:我猜它应该是某一门高深的技术(语重心长) b:json这个词为啥谷歌翻译?是啥新词语嘛?是不是搞错了哟?(底气十足) c:json这个我听过,我只知道他是一种很轻量存储结构,但具体真的不太懂(轻声) json它不是一个原有单词,其实是4个单词JavaScript Object Notation(JavaScript对象表示)的简写,是一种轻量级的文本数据交换格式,并且json独立于语言(使用JavaScript语法描述对象),很多编程语言都支持json。 json 已成为当前服务器与 web 应用之间数据传输的公认标准。 json诞生 问个问题,json是如何诞生的呢? 这个问题首先由于互联网应用之间需要传输数据,且很多跨平台的程序需要交互,只能采取纯文本方式的...
相关文章
文章评论
共有0条评论来说两句吧...