一个java文件中可以有多个类,不管几个类,类名和.java文件名可以不一致,编译要使用.java文件,然后.java文件中的每个类都会生成一个.class文件,最后解释执行需要使用.class文件,这时只需要保证.class文件中有main方法就可以正常执行。
一个java文件可以有多个类,但只能包含一个public类,如果有public类,则java文件名必须和public一致。
下面例子说明2个问题:1.只能有1个public类,且java文件名必须和类名一致(例1)
2.如果没有public类,类名和java文件名可以不一致,编译时需要使用java文件名,解释执行时需要使用.class文件(例2)
例1:
文件名是Testmain4.java , 上面的例子有两个错误,有两个public类和public类名与文件名不一致。
使用命令行测试:
去掉public就可以通过编译和执行:
例2:
打开 Run As->Run Configurations后,如上图修改Main class为 main$文件夹下的BB类,这样编译时为当前的Testmain4.java文件,然后执行生成的main所在的BB类,如果不设置那么除非类名和文件名一致,会自动找到java文件的main class,不然不会自动设置。
main class可以理解为当前java文件中含后main方法的class,如果不止一个类中有main方法,选择一个需要的填入,然后就以这个main为程序入口。
使用命令行测试:
文章原创,谢绝转载。欢迎指正。