用$符号命名的Android或Java类

san*_*one 13 java android

我正在审查某个项目,我发现有很多同名的课程,但最后有一个美元($)符号+正在增加的数字.例如

Class.java
Class$1.java
Class$2.java
Class$n.java
OtherClass.java
OtherClass$1.java
OtherClass$n.java
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

Nik*_*nov 13

AFAIK如果它有数字它是一个匿名的内部类,如果它在$符号后面有一个名字它就意味着内部类.
编辑:有关编译器处理方式的更多信息,请参阅此处

  • 你是对的,它通常是匿名内部类的数量,但Av $并不一定意味着内部类.$是有效的标识符起始字符,但您只应将$用于"机械生成"标识符.请参阅java语言规范http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.8 (2认同)