1.编译单元中可以没有public类,这种情况很少见到,这个时候你可以任意命名你的文件名。 2.当编译单元中有public类时,只能有一个,并且要求要与文件名相同(包括大小写),这样相当于每个编译单元只有一个编程接口,即为public表示的类。