package作用
为了更好地组织类,java通过package机制来管理类,不同的package代表不同的命名空间。java中的任何一个类都会存在一个命名空间里,如果类没用package指定命名空间,则默认的是全局命名空间。同一个命名空间中不允许存在同名的类,但不同的命名空间可以存在同名的类
定义一个在com.wandou命名空间中的类
package com.wandou;
public class JMath {
public static void main(String args[]) {
System.out.println("i am JMath.");
}
public static double add(double p1, double p2) {
System.out.println("add func called.");
return p1 + p2;
}
public static double sub(double p1, double p2) {
System.out.println("sub func called.");
return p1 - p2;
}
}
定义一个全局命名空间中的类。这个类通过import
关键词引用com.wandou名空间中的JMath类
import com.wandou.*;
public class Test {
public static void main(String args[]) {
double p1 = 2.1;
double p2 = 2.2;
double r = JMath.add(p1, p2);
System.out.printf("%f\n", r);
}
}
编译和运行java类
javac -d target -cp target *.java
-d跟着编译输出路径
java -cp target Test
java跟着要执行的类名,-cp指定类的搜索路径,java里public类的名称一定要和文件名一致,且类名要大写
打包和执行包中的类
jar -cvfe mytest.jar Test -C target .
-C
参数切换到target目录,.
参数表示在当前目录所有文件
java -jar mytest.jar Test
运行mytest.jar中的Test类