当前位置: 首页 > 面试题库 >

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

苍和裕
2023-03-14
问题内容

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

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

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


问题答案:

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

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

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



 类似资料:
  • 问题内容: 作为希望完善其编程技能的Java程序员,我经常遇到必须创建运行时异常的情况。我知道,如果明智地使用它是一个好习惯。 就我个人而言, NullPointerException 和 IllegalStateException 是我创建的软件中最常用的。你呢? 您经常使用哪些运行时异常?您在什么情况下使用它们? 问题答案: 我从不抛出 NullPointerException 。对我来说,当

  • 本文向大家介绍什么是C#中的运行时多态?,包括了什么是C#中的运行时多态?的使用技巧和注意事项,需要的朋友参考一下 运行时多态性具有方法覆盖,也称为动态绑定或后期绑定。它由抽象类和虚函数实现。 抽象类 抽象类包含抽象方法,这些方法由派生类实现。 让我们看一个实现运行时多态性的抽象类的示例- 示例 示例 虚函数 当您在类中定义了要在继承的类中实现的函数时,可以使用虚函数。虚拟函数可以在不同的继承类中

  • 因为问题已经被问了很多次了,但我不能理解清楚。 根据提供的答案,JavaScript运行时意味着执行JavaScript代码的地方。 现在Nodejs的定义,它是一个异步的javascript运行时,这是否意味着在Nodejs内部执行javascript? 另外,javascript runtime environment,是指执行javascript代码的环境或机器设置吗? 对不起,我重复了我的

  • 在文档中,经常说“JavaFX运行时”在后台执行XY--但什么是“运行时”?如果我理解正确(请编辑),运行时由以下部分组成: null

  • 什么是运行时常量池和java中的方法区。我读到JVM创造了这两个,但是哪一个是第一个存在的?还有它们包含什么?任何帮助将不胜感激。

  • 问题内容: 我已经包含了从Eclipse Android项目构建的JAR文件,并且在我的Android Studio项目中引用了它,如下所示: 这有效,并且我能够自动完成代码引用。当我编译APK时,一切都很好。我安装并运行,然后收到no class def错误: 但是,当我解压缩APK并使用dexdump查看classes.dex文件时,我看到上面的类存在。 为什么然后在运行时出现此类未找到错误?