(一)源文件的编写与保存
1>编写源文件
2>保存源文件
如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类名字完全相同,扩展名是.java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。
(二)编译
在保存了源文件后,就要使用Java编译器(javac.exe)对其进行编译了。
1>编译器(javac)
Dos命令用javac源文件名
进行编译形成字节码文件 .class
2>字节码文件(.class文件)
如果源文件中包含多个类,编译源文件将生成多个扩展名为.class的文件,在每个扩展名为.class文件中只存放一个类的字节码,其文件名与该类的名字相同,这些字节码文件被存放在与源文件相同的目录中。
如果源文件中有语法错误,编译器将给出错误提示,不生成字节码文件,编写者必须修改源文件,然后再进行编译。
编译上面那个例子的源文件将得到两个字节码文件,即Hello.class和Student.class。如果对源文件进行了修改,必须重新编译,再生成新的字节码文件。
3>字节码的兼容性
JDK1.5版本以后的编译器和以前版本的编译器有一个很大的不同,即不再向下兼容。也就是说,如果在编译源文件时没有特别约定,JDK1.6编译器生成的字节码只能在安装了JDK1.6或JRE1.6的Java平台环境中运行。可以用“-source”参数约定字节码适合的平台。如果Java程序中并没有用到JDK1.6的新功能,在编译源文件时可以使用“-source”参数,例如:
javac -source 1.4 文件名.java
这样编译生成的字节码可以在1.4版本以上(含1.4版本)的Java平台上运行。如果源文件使用的系统类库没有超出JDK1.1版本,在编译源文件时应当使用-source参数,取值为1.1以使字节码有更好的可移植性。
-source参数的可取值有1.7、1.6、1.5、1.4、1.3、1.2、1.1。
如果在使用JDK1.7编译器时没有显式地使用“-source”参数,JDK1.7编译器将默认使用该参数,并取值1.7。
注:在编译时,如果出现提示file Not Found,请检查源文件是否在当前目录中,比如D:\FishC_Java中,以及检查源文件的名字是否被错误地命名为hello.java或hello.java.txt。
(三)运行
1>应用程序的主类
一个Java应用程序必须有一个类含有public static void main(String[]args)方法,称这个类是应用程序的主类。args是main方法的一个参数,是一个字符串类型的数组(注意String的第一个字母是大写的)
2>解释器(java)
使用Java虚拟机中的Java解释器(java.exe)来解释、执行其字节码文件。Java应用程序总是从主类的main方法开始执行,因此,需进行主类字节码所在目录,比如D:\FishC_Java,然后使用Java解释器(java.exe)运行主类的字节码
当Java应用程序中有多个类时,Java解释器执行的类名必须是主类的名字(没有扩展名)。当使用Java解释器运行应用程序时,Java虚拟机首先将程序需要的字节码文件加载到内存,然后解释执行字节码文件。当运行Java应用程序时,虚拟机将主类和其他类加载到内存。当虚拟机将(主类的.class)加载到内存时,就为主类中的main方法分配了入口地址,以便Java解释器调用main方法开始运行程序。
如果觉得《java 源文件存储_JAVA源文件的编写与保存》对你有帮助,请点赞、收藏,并留下你的观点哦!