Java 源程序的编译大家都知道,也就是 cmd 中到源文件所在目录下 javac **.java 即可,当程序中有包声明该如何执行?
如下:D:\www\javaTest>目录下有Test.java 文件,注意源文件中有包声明:
package mypack;
public class Test {
String name;
int age;
public void setName(String _name){
this.name =_name;
}
public void setAge(int _age){
this.age = _age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public static void main(String[] args){
Test a = new Test();
a.name="runoops.com";
a.setAge(3);
System.out.println(a.getName()+ " " +a.getAge());
}
}
Java执行编译命令:
D:\www\javaTest>javac -d . Test.java
D:\www\javaTest>java -cp D:\www\javaTest mypack.Test
runoops.com 3
D:\www\javaTest>
总结
- 1、Java 命令的参数是"类的完整类名",而不是"文件名"。
- 2、打包编译时,会自动创建包目录,不需要自己新建包名文件夹。
- 3、当当前目录有多个 java 文件需要编译或打包编译时,javac -d . *.java 指令可以给当前目录下的所有 java 文件根据程序中是否有包声明进行编译或打包编译。
- 4、当类路径不在当前目录下时,需要用到 java -cp ...,如:java -cp D:\www\javaTest mypack.Test。
- 5、要清楚 java 虚拟机根据包声明包导入执行字节码文件的流程。
原文地址:https://www.cnblogs.com/xiaoming0601/p/5551113.html