首先Java是被解释执行的。它在运行时并不是将所有的class文件全都放到内存中。而是在遇到import的时候才去相应的文件目录找相应的class文件。
对于一个public类,它是可以被项目中任何一个类所引用的,只需在使用它前import一下它所对应的class文件即可。将类名与文件名一一对应就可以方便虚拟机在相应的路径(包名)中找到相应的类的信息。如果不这么做的话,就很难去找,而且开销也会很大。
注意:对于没有公共类(public)的情况下,文件名可以不和其中的类名一致。然而一个文件中最多只能有一个公共类(内部类除外,内部类作为外部类的内部成员,可以存在多个内部类是用public修饰的)。