jdk源码阅读之Class类(1)
JDK1.8源码阅读---Class类解析
Class类的注释及其解释
Class类的注释以及特点说明
- 类{@code Class}的实例表示正在运行的Java应用程序中的类和接口。枚举是一种类,注释是一种接口。
- 每个数组也属于一个反映为{@code Class}对象的类,它由具有相同元素类型和维数的所有数组共享。
- 原始Java类型({@code boolean},{@code byte},{@ code char},{@ code short} {@code int},{@ code long},{@ code float},以及 {@code double}),关键字{@code void}也表示为{@code Class}对象。
- {@code Class}没有公共构造函数。相反,{@code Class} 对象由Java虚拟机自动构造,因为类被加载,并且通过调用类* loader中的{@code defineClass}方法。
- 以下示例使用{@code Class}对象来打印对象的类名称:void printClassName(Object obj) {以下示例使用{@code Class}对象来打印对象的类名称:void printClassName(Object obj) {
System.out.println( System.out.println("The class of " + obj + " is " + obj.getClass().getName());
} - 也可以使用类文字获取命名类型(或void)的{@code Class}对象***。参见Java&trade的第15.8.2节;语言规范{@code System.out.println("The name of class Foo is: "+Foo.class.getName());}*
- @param 由此{@code Class} 对象建模的类的类型。例如,{@code String.class}的类型是{@code Class }。如果正在建模的类是 unknown,请使用{@code Class <?>}。
Class类的关系图
从Class类的关系图中就可以看出。Class继承Serializable类,GenericDeclaration类以及Type类。还有Class类继承祖父类AnnotatedElement
Class类的内部结构
通过Class类的注释几点总结
- java中总共有8种基本数据类型如下
. boolean 只有两个值 true和false
. byte 字节数据类型
. char 字符数据类型
. short 短整型数据类型
. int 整型数据类型
. long 长类型
. float 浮点数数据类型
. double 双精度数据类型 - 几种常见的java对象
. enum 是一个类
. annotation 是一个接口
. array 数组也是一个类
. void 是一个类的对象 - Class没有公共构造方法,它的构造方法是通过虚拟机作为类加载,并通过调用类 loader中的{@code defineClass}方法