运行时类型信息是的你可以在程序运行时发现和使用类型信息。
Class对象
1)Class.forName("类全称");此方法会初始化对象
2)类名.class (这个是类字面常量,编译期检测。)。不会初始化对象
static final 的值是编译期常量,则不需要初始化就可以访问,否则,访问的话会先初始化对象。
若果一个static于不是final的,那么对它访问时总是要求在它读取之前,要先进行连接(为这个域分配存储空间)和初始化(初始化该存储空间)。
反射:运行时的信息
Class类与java.lang.reflect类库一起对反射的概念进行了支持。
RTTI和反射之间真正的区别只在于,对于RTTI来说,编译器在编译时打开和检查.class文件,对于反射来说,编译时.class文件是获取不到的,多以在运行时打开和检查.class文件。
反射在Java中是用来支持诸如:对象序列化和JavaBean。