1.什么是Class类&Class类的作用
Class类说变了也是一个类,只不过是一个比较特殊的类。特殊在哪里呢?
特殊在这是一个在类加载过程中由虚拟机生成的,
由于表示被加载类的类型信息的对象。简单地说,我们创建一个int变量,那么这个int变量是个整数类型,那么我们怎么知道这个类型是整数类型呢?就是通过这个Cla
ss类来知道的。(基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为 class 对象。)
java是面向对象编程的,java中几乎所有的数据都是对象,那么是对象,就必须知道自己到底是哪一种类型的对象。于是Class类便顺势而生了。
2.Class类里面存储了什么
既然我们知道Class类是表示类型的一个特殊的类,那么它是怎么表示某个类或者对象的类型呢?或者说,它里面存储了什么呢?通过反射机制我们知道,Class里面存储了对应类的几乎所有的信息,
当然这些信息是未初始化的信息
,比如所有的方法,所有的构造函数,所有的字段(成员属性)等等。
那这些信息是怎么存储进去的呢?好吧,这个应该去深入的参考java虚拟机规范吧,毕竟Class这个类的构造函数是私有的,可能是底层的C++代码实现的。