编译器正在创建带有$的额外类文件

我正在使用Eclipse,我使用SWT编写了一个Java应用程序。 当Eclipse编译我的程序时,它将我的主文件重命名为4个不同的文件,如下所示:

  • MainFile.class
  • MainFile $ 1.class
  • MainFile $ 2.class
  • MainFile $ 3.class

当我从命令行运行这个程序时,我得到了

找不到主类:MainFile.class。 程序将会退出。

我真的不明白为什么会这样。

$ class用于匿名内部类,非常正常。

我们能看到你运行的命令行吗? 您可能需要编写java MainFile而不是java MainFile.class