Java中的“运行时类”是什么?

问题描述

只需将其理解为“具有该对象类型的所有元数据的对象”即可。在该对象中,您可以找到在类,字段,类型层次结构等中声明的方法。该信息通常由使用反射来检查对象/类型或运行方法代码使用,而无需使用在对它们进行编码时定义和编译的类。

可以强调“运行时”,因为类定义可能会随时间变化,或者对象可能被声明为超类型,而实际上它是所声明的子类型的实例。加载某个类时,就是该实例期间加载的信息,将由getClass()方法返回。

简而言之,当您运行代码时,VM将以与您在.java文件中键入的“源”形式不同的方式对类进行定义。当然,这些信息将在编译后加载,并且所有元数据(如上所述)将构成它们所谓的“运行时类”。

解决方法

我试图了解该Object.getClass()方法的作用。

文档说,它“返回对象的运行时类”。这种解释并不能帮助我理解该术语。

是否有人简单地描述了什么是“运行时类”,它是什么getClass()

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”