java内部类在写文件的时候是一个java文件,但是在编译之后每个类却都是一个.class 文件。而内部类编译文件的名称为 外部类$内部类.class。这一点在不同环境上可能会造成影响。在本地环境没有感知,好像和一个编译文件没什么不同,但是在不同环境上可能会造成感觉没有改变的感觉。比如 class Constants{ class Inner{ public String name; public String sex; } } 在编译之后就会生成 Constants.class,Constants$Inner.class 这两个文件!!