java - myClass$1.class 类的 Java 类文件有什么意义?

标签 java eclipse

我有许多用 Eclipse 编译的 .java 类,在/bin 目录中我看到不仅有与我的 Java 类对应的各种 .class 文件,还有一些文件名中带有美元符号.

示例:我有一个名为 RangeFinder 的类,在/bin 中我看到一个 RangeFinder.class 和一个 RangeFinder$1.class。

后者的意义是什么?

(我在 Ubuntu 上使用 Eclipse EE Indigo。)

最佳答案

这些是字节码形式的匿名内部类。编译器赋予它们以1开头的数字名称(在Java中不允许类名以数字开头,但在字节码中是可以的,所以编译器这样做是为了避免名称冲突, 我猜)。普通(命名)内部类的命名方式类似于 OuterType$InnerType.class

关于java - myClass$1.class 类的 Java 类文件有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6913317/

相关文章:

c++ - Eclipse 与 qt 集成

java - 有没有一种方法可以通过提供不同关键字、 block 开始等的列表来向 Eclipse 添加非常简单的代码突出显示?

java - 如何在执行操作时从操作中获取请求参数

java - 在 Spring RESTful 服务中生成和使用自定义 JSON 对象

java - 如何使用 Spring boot 实现 AWS Secret Manager?做这个的最好方式是什么?

java - charvariable=(char)(charvariable+3) 这个语法是什么意思?

java - Eclipse Java项目错误: cannot resolve declaration in swing

java - MonitorEnter操作是否耗时?

将项目文件放入工作区/项目后,Eclipse 项目未显示

java - 错误: cannot be resolved to a type