运行时类型:RTTI(Run-Time Type Identification),面向对象编程语言支持。通过运行时类型信息,能使用指针来检查指针的实际指向的派生类的相关信息。(Java中,指针又叫引用)
如何在运行时识别对象和类型?一种使用RTTI,一种是反射。(反射的核心,知道运行时的对象和类的信息)
1.RTTI
在运行时,识别一个对象的类型。
tips:多态?比如说基类有一个方法,子类继承重写了这个方法,调用的这个方法的时候,会产生不同的信息。
使用场合:定义基类,定义子类,向上转型为基类。类型转换。(在Java中,所有的类型都是在运行时进行正确性检查的)
2.Class对象

Class:每个类都有的对象,包含类的一些相关信息。类加载器会生成Class对象。
关于书中,构造器是不是静态方法的研究:R大的知乎回答
类加载系统:可以有多个类加载器,构成一个类加载器链。但是,一般都只需要原生类加载器就够了。(按照默认的形式去加载class文件),当类第一次使用的时候,会被加载到JVM中。关于Java中加载的顺序:https://www.cnblogs.com/hadoop-dev/p/6907471.html
2.1类字面常量
Object.class
对于基本数据类型来说,有TYPE字段,TYPE是一个对象的引用,指向对应的基本数据类型的Class对象。比如说,Boolean.TYPE等价于boolean.class
网友评论