runoops.com

Java 中带包(创建及引用)的类的编译与调试

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