用$symbol命名Android或Java类

用$symbol命名Android或Java类,java,android,Java,Android,我正在回顾一个特定的项目,我看到有许多类具有相同的名称,但末尾有一个美元($)符号+增加的数字。比如说 Class.java Class$1.java Class$2.java Class$n.java OtherClass.java OtherClass$1.java OtherClass$n.java 它是什么意思?如果它有编号,则它是一个匿名的内部类,如果它在$sign之后有一个名称,则仅表示内部类。 编辑: 有关编译器如何处理的详细信息,请参见编译器对内部类使用美元符号。不过,我认为手

我正在回顾一个特定的项目,我看到有许多类具有相同的名称,但末尾有一个美元($)符号+增加的数字。比如说

Class.java
Class$1.java
Class$2.java
Class$n.java
OtherClass.java
OtherClass$1.java
OtherClass$n.java

它是什么意思?

如果它有编号,则它是一个匿名的内部类,如果它在$sign之后有一个名称,则仅表示内部类。
编辑
有关编译器如何处理的详细信息,请参见

编译器对内部类使用美元符号。不过,我认为手动生成具有这些名称的类/文件会很奇怪:据我所知,这是一种编译器

好奇..我从来没见过这个!我只见过有子类或模糊代码的类。嗯,你说得对。这似乎是一个反编译的项目。我在我的项目中也尝试了同样的方法,得到了这些符号。有人能确认一下吗?这样我就可以结束这个话题了?标题不是也包括
Java
?因为我不认为它只是被指定给Android,我已经添加了它。我不确定这是否是Android唯一的东西;)您是对的,它通常是匿名内部类的数量,但是Av$不一定意味着内部类。$是一个有效的标识符起始字符,但您应该仅将$用于“机械生成”的标识符。请参阅java语言规范