类名跟文件名 不一样的话不报错吗?
如果一个编译单元(文件)中含有public的类,则文件名必须与类名一致,如果没有public类,则文件可以随意命名。一个文件中,public的类可以有零个或一个,非public的类可以有零个或多个。
java程序是从一个public类的main函数开始执行的,(其实是main线程),就像C程序是从main()函数开始执行一样。 只能有一个public类是为了给类装载器提供方便。 一个public 类只能定义在以它的类名为文件名的文件中。
每个编译单元(文件)都只有一个public 类。因为每个编译单元都只能有一个公共接口,用public类来表现。该接口可以按照要求包含众多的支持包访问权限的类。如果有一个以上的public 类,编译器就会报错。 并且public类的名称必须与文件名相同(严格区分大小写)。 当然一个编译单元内也可以没有public类。