1、如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中;
2、反之,在一个文件中最多包含一个顶级的公共类,并且该公共类的名字与文件名相同。比如文件A.java中,允许定义一个或多个类,但最多允许一个顶级的公共类,此类名为A。此处强调的顶级的意思是,允许非顶级的公共类存在,如内部公共类等。
在java里,文件名与类名之间的关系,有下面这些约束: 1.Java保存的文件名必须与类名一致 2.如果文件中只有一个类,文件名必须与类名一致 3.一个Java文件中只能有一个public类 4.如果文件中不止一个类,文件名必须与public类名一致 5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致