1、编写java源文件
2、编译器(javac.exe)
3、解释器(java.exe)
1、编写java源文件
一个源文件可以有多个类(class)但是只能有一个类是public类
如果有一个类是public类,那么源文件的名字必须与这个类的名字完全一样,扩展名为.java
如果源文件没有public类,那么只要名字和某个类相同,且扩展名是.java也可以。
2、编译java源文件
javac b.java
当编译成功后会出现B.class字节码文件
如果源文件有多个类,编译源文件会生成多个扩展名为.class的文件
当在一个源文件中包含多个public的类名,则编译会报错
3、解释器
使用java虚拟机中的java解释器(java.exe)来解释,执行其字节码文件(.class文件)
public class B {
int a=1;
int f(int b){
a=b;
return a;
}
// 主类,java应用程序总是从主类的main方法开始执行
public static void main(String []args){
B b=new B();
System.out.println(b.f(3));
}
}
编译后得到的字节码文件(.class文件),使用反编译器查看
public class B {
int a = 1;
int f(int paramInt) {
this.a = paramInt;
return this.a;
}
public static void main(String[] paramArrayOfString) {
B b = new B();
System.out.println(b.f(3));
}
}
运行:java B,得到结果是3
执行过程:java虚拟机首先将程序需要的字节码文件加载到内存,然后解释执行字节码文件,加载到内存的同时就为主类中的main方法分配了入口地址。
注意:
(1)java解释器执行的类名必须是主类的名字(没有扩展名)
(2)如果解释的时候出现错误,可能是main方法没有写对,或者是系统变量不正确
在MS-DOS输入:ClassPath=D:\jdk1.7\jre\lib\rt.jar;.;然后回车确定,再使用java解释器运行主类。
(3)不可以带着目录运行程序,比如 java C:\ts\B
网友评论