问题:
在使用 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中文网其他相关文章!