首页  >  文章  >  Java  >  为什么 JAR 文件中的 Java 编译类的文件名中包含美元符号和数字?

为什么 JAR 文件中的 Java 编译类的文件名中包含美元符号和数字?

Patricia Arquette
Patricia Arquette原创
2024-10-25 11:01:02556浏览

Why do Java compiled classes in JAR files have dollar signs and numbers in their file names?

Java 编译类在文件名中显示美元符号

问题:

在使用 Eclipse 创建的导出 JAR 文件中,某些类文件显示类名称,后跟美元符号和数字。例如:

<code class="java">Find.class 
Find.class
Find.class
Find.class</code>

这是代码大小限制的结果吗?即较大的类被分解为多个较小的类?大量的网上搜索没有找到相关信息。有人可以解释一下吗?

答案:

这些附加类文件是原始类中内部类的结果。内部类嵌套在外部类中,并使用 class 关键字声明:

<code class="java">public class OuterClass {
    public class InnerClass {
        // Nested code
    }
}</code>

编译包含内部类的类时,将为每个内部类生成单独的类文件,遵循命名约定 OuterClass$InnerClass 。班级。匿名内部类(没有名称的类)被分配数字标识符,导致文件名类似于 OuterClass$1.class。

与普遍看法相反,原始类的大小不会影响多个类文件的创建。内部类的存在是这种行为的唯一原因。

以上是为什么 JAR 文件中的 Java 编译类的文件名中包含美元符号和数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn