一个编译单元(就是我们创建的java文件)可以存在多个类(class),在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。
java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。当一个编译单元(java文件)有多个非public类时,运行时需要对数据来源进行选择。
讲人话就是
- 一个java文件里面可以有多个类,但是public修饰的类只能有一个。
- public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。
- 一个java文件里里面可以没有public修饰的类,这时候文件名也就随便写