java总是每个类对应一个文件,public类会生成一个与类名同名的文件,而一个文件的源程序中只能有一个公有类,那么其他的非公有类,内部类,嵌套类生成类字节码时也要生成相应的文件,那就要借助于public类来生成了,所以就生成了那些带$的class了。