同一Java程序的多个编译实例

同一Java程序的多个编译实例,java,compilation,jframe,Java,Compilation,Jframe,可能重复: 我编写了一个批处理文件来编译java程序并执行它。当我打开文件位置(通过GUI)时,我看到同一文件的许多.class文件 例如,假设我有一个名为“acView.java”的文件 我看到3个编译的.class文件-“acView$1.class”“acView$2.class”和“acView.class” 1美元和2美元代表什么?他们为什么在场 如果这很重要的话,.java文件就是JFrame。的$1仅仅意味着类是一个匿名的类,数字1由编译器生成。当您有两个匿名类时,它将在编译的类

可能重复:

我编写了一个批处理文件来编译java程序并执行它。当我打开文件位置(通过GUI)时,我看到同一文件的许多.class文件

例如,假设我有一个名为“acView.java”的文件

我看到3个编译的.class文件-“acView$1.class”“acView$2.class”和“acView.class”

1美元和2美元代表什么?他们为什么在场


如果这很重要的话,.java文件就是JFrame。

$1
仅仅意味着类是一个
匿名的
类,数字1由编译器生成。当您有两个匿名类时,它将在编译的类中包含类似于
YourClass$1.class
YourClass$2.class
的内容

从您的代码中,我相信您正在匿名实现一些
侦听器


如果您不想让编译器生成多个类,您可以将代码移到普通类。

是否可以进一步说明或提供一个包含详细信息的链接?对我正在实现一个按钮的clickListener。那么,侦听器越多,类就越“匿名”?@Torcellite正确,很可能是匿名实现的。有没有办法避免这种情况?是的,不要定义顶级类范围内的类。但真正的问题是你为什么要回避它,只是好奇而已。我想知道是否有解决办法。