0

我一直在研究java类文件格式。我一直在研究从字节码创建类。我已经能够从 oracle 文档和其他 Google 搜索中找到我需要的大部分信息。但是,我无法找出构造函数在类文件中的存储方式和位置。我认为它们可能存储在方法表中,但我不确定,如果是,我想了解它们的存储方式。

4

1 回答 1

5

来自JVM 规范,第 2.9 节

在 Java 虚拟机级别,用 Java 编程语言(JLS §8.8)编写的每个构造函数都显示为具有特殊名称的实例初始化方法<init>。此名称由编译器提供。因为名称<init>不是有效的标识符,所以不能直接在用 Java 编程语言编写的程序中使用。

此外:

一个类或接口最多有一个类或接口初始化方法,并通过调用该方法进行初始化(第 5.5 节)。类或接口的初始化方法具有特殊名称<clinit>,不带参数,并且是无效的(第 4.3.3 节)。

于 2013-05-30T21:25:05.853 回答