Java源文件与字节码文件的关系
1、编译:编译的不是源文件,而是源文件中的类,会将源文件中的每个类都编译成一个个字节码文件,字节码文件的名称就是类的名称;
2、一个源文件可以定义多个类,文件中类的类名不能相同、如果这多个类没有任何一个类被public修饰,那么源文件的名字任意;
3、如果源文件中的多个类中有一个类被public修饰,那么这个类就是该源文件的主类,那么源文件的名称与该主类的名称一致;
4、源文件中可以定义多个类,一般一个源文件只定义一个类,且类被public修饰,那么源文件名称与类名一致;
5、执行:执行的是字节码文件中类的主方法,所以是执行字节码文件时,就自动调用该类的主方法。
强调
如果源文件中的代码被修改,需要重新编译,否则字节码文件中的内容仍是上次编译的内容,重新编译之后生成新的字节码文件会自动覆盖原字节码文件。