将类名映射到路径名

标准 Java 工具链(以及旨在与它们互操作的第三方工具)具有将类的名称映射到文件的路径名和表示它们的其他资源的特定规则。

映射如下

  • 对于默认包中的类,路径名是简单文件名。
  • 对于命名包中的类,包名称组件映射到目录。
  • 对于命名的嵌套和内部类,文件名组件是通过将类名与 $ 字符连接而形成的。
  • 对于匿名内部类,使用数字代替名称。

如下表所示:

类名称 源路径名 类文件路径名
SomeClass SomeClass.java SomeClass.class
com.example.SomeClass com/example/SomeClass.java com/example/SomeClass.class
SomeClass.Inner (在 SomeClass.java SomeClass$Inner.class
SomeClass anon 内部类 (在 SomeClass.java SomeClass$1.classSomeClass$2.class