问题描述
只需将其理解为“具有该对象类型的所有元数据的对象”即可。在该对象中,您可以找到在类,字段,类型层次结构等中声明的方法。该信息通常由使用反射来检查对象/类型或运行方法的代码使用,而无需使用在对它们进行编码时定义和编译的类。
可以强调“运行时”,因为类定义可能会随时间变化,或者对象可能被声明为超类型,而实际上它是所声明的子类型的实例。加载某个类时,就是该实例期间加载的信息,将由getClass()方法返回。
简而言之,当您运行代码时,VM将以与您在.java文件中键入的“源”形式不同的方式对类进行定义。当然,这些信息将在编译后加载,并且所有元数据(如上所述)将构成它们所谓的“运行时类”。
解决方法
我试图了解该Object.getClass()
方法的作用。
该文档说,它“返回对象的运行时类”。这种解释并不能帮助我理解该术语。
是否有人简单地描述了什么是“运行时类”,它是什么getClass()
?