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

2023-11-21

我试图理解什么是Object.getClass()方法确实如此。

The 文档说它“返回对象的运行时类”。该解释无助于我理解该术语。

有人简单描述一下什么是“运行时类”以及什么getClass() does?


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

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

简而言之,当您的代码运行时,VM 将以与您在 .java 文件中键入的“源”形式不同的方式定义您的类。当然,这些信息在编译后将被加载,并且所有元数据(如上所述)将构成他们所谓的“运行时类”。这只是一种奇特的方式来表达“一个包含程序运行时加载的类的所有元数据的对象”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的“运行时类”是什么? 的相关文章

随机推荐