首页 > Java > java教程 > 正文

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

Patricia Arquette
发布: 2024-10-25 11:01:02
原创
657 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板