首页 > Java > java教程 > 正文

为什么 Java 编译类有美元符号?

Patricia Arquette
发布: 2024-10-26 18:54:29
原创
1004 人浏览过

Why Do Java Compiled Classes Have Dollar Signs?

带有美元符号的 Java 编译类

Java 程序员经常在编译的类文件中遇到特殊的命名约定。一些类的类名呈现出奇怪的模式,后面跟着一个美元符号和一个数字。例如,您可能会看到如下文件:

  • Find$1.class
  • Find$2.class
  • Find$3.class
  • Find。 class

深入探究原因

与普遍看法相反,班级的规模不会触发此行为。答案就在内部类。当类包含内部类时,编译器会为这些内部类生成单独的类文件。文件名遵循以下模式:

OuterClass.class
OuterClass$InnerClass.class
登录后复制

匿名内部类

匿名内部类在没有自定义名称的情况下定义,并分配有数字。这解释了“Find$1.class”和类似的文件名。

示例

考虑以下代码片段:

public class OuterClass {
    class InnerClass {
    }

    Serializable anonymous = new Serializable() {
    };
}
登录后复制

编译器将生成以下类文件:

  • OuterClass.class
  • OuterClass$InnerClass.class
  • OuterClass$1.class

考虑匿名类吗?

匿名内部类的使用一直存在争议。有些人认为这是一种代码味道,而另一些人则认为它在某些情况下是否合适。最终,使用它们的决定取决于具体的设计要求。

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

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