一个Java文件,但有两个类

Sal*_*ora 1 java compilation

我的项目中有几个课程.编译后,我找到两个java-Files到每个类:name.class和name $ .class.可能是什么原因?我认为课程没什么特别之处.

问候

kam*_*uel 7

它是一个匿名的内部类,例如:

new Runnable() { ... }
Run Code Online (Sandbox Code Playgroud)

编辑:评论中的一些有效点:

  • enum 类型也被编译为单独的类文件(因为这些类实际上是类)
  • 匿名内部类按顺序编号(MyClass$1.class,MyClass$2.class等)
  • unanymous内部类被命名(例如MyClass$InnerNamedClass.class)