run-time type identification RTTI 运行时类型识别
弄清楚向上转型、向下转型
RTTI两种形式
1:传统类型转换 由RTTI确保类型转换的正确性 转换失败抛出ClassCastException
2:代表对象的类型Class对象,通过Class对象可以获取运行时所需的信息
3:instanceof 可以判断这个类是否是这个类 Class对象的isInstance()也可以做到
每个对象都有一个Class对象 每当编写一个新类 都会创建一个Class对象,(保存在.class文件中)程序运行时,jvm虚拟机就会检查Class对象是否已经被加载。
类字面常量 基本类型的CLass信息
boolean.class Boolean.TYPE
char.class Character.TYPE
....
反射
可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法