Class对象
- 在Java中,Java类有且只有两个对象:实例对象和Class对象。
- 实例对象,进行对对象的各种行为操作和属性定义。
- Class对象,每个Java类有且只有一个。它包含了与类有关的信息,在 Java反射 中经常使用到。
- 其实,实例对象就是就是通过类的Class对象来创建的。
(一些不理解的知识的记录:Java多态基于RTTI实现的,Java使用类的Class对象,执行其RTTI。RTTI:Run-Time Type Identification,运行时类型识别)
Class对象的种类(不太恰当)
- 每一个类都有且只有一个Class对象,每当创建一个新类,就产生一个Class对象。
- 举例如下:
-
- 基本类型有Class对象(boolean、int、float、double、char、byte、short、long);
-
- 数组有Class对象;
-
- 关键词void也有Class对象(void.class)
Class对象对应着java.lang.Class类
- 如果说,类是对对象的抽象和集合的话,Class类就是对类的抽象和集合。
Class对象
- Class类没有公共的构造方法,Class对象是在类加载的时候,由JVM和调用类加载器的defineClass方法自动构造。
- 不能显式地用构造方法声明一个Class对象。