编译首先把代码翻译为.class字节码文件,也就是只有jvm能识别的文件格式类型, java的编译要求文件名和文件中public的类名相同,也就是 文件名是 Test.java,那么对应文件内容中的也应该是 public class Test
javac Test.java
生成 Test.class字节码文件
运行
java Test.class
例子
首先创建一个文件夹test,用来存放文件java文件,然后分别编写Hello.java和Main.java
Hello.java内容:
package test;
public class Hello {
private String a = "Hello";
public String getName() {
return a;
}
}
Main.java内容
package test;
public class Main {
public static void main(String[] args) {
System.out.println(new Hello().getName());
}
}
就是简单的java调用打印函数
编译:
javac Main.java Hello.java
就会在当前目录生成 Main.class和Hello.class
这样下来Main.class中包含了Hello文件信息,感兴趣的朋友可以使用javap Main.class查看当前class中包含的文件信息,会发现Hello这个类包括使用这个类的信息已经被加载进来
运行:
值得注意的是运行的时候,需要根据java的包路径,在基准目录运行,上面的程序我们使用test目录作为包路径,那么需要到test上层目录进行运行,cd ../,并且运行的时候需要加上包名 + class名,这里只要运行Main,java根据class路径自动寻找
java test.Main
输出为Hello
注:
如果想指定java运行的顶端目录,可以使用 java -Djava.library.path=xx test.Main