java里package作用相当于c++里的namespace, 用于避免定义重复类型的一种方法。
在eclipse的工程上新建一个类时,可在弹出的界面里设置新建的类是属于哪一个package的:
也可以类源码文件的第一行加: package mypack.test;
//如不指定属于哪个package的话,就是属于default package了.
//编译后,会在工程源码的bin编译目录下创建出 mypack/test目录,目录有属于这个package的类的class文件
在源码里使用另一个package里类或接口时,需要用”import package名.类名”
如在mypack.test包里有两个类:
/* Animal.java */
package mypack.test;
public class Animal {
public void eat() {
System.out.println("animal eats");
}
}
/* Human.java */
package mypack.test;
public class Human {
public void eat() {
System.out.println("human eats");
}
public void move() {
System.out.println("human moves");
}
}
在default package里使用:
import mypack.test.Animal;
import mypack.test.Human;
public class Hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
Human h = new Human();
h.eat();
h.move();
Animal a = new Animal();
a.eat();
}
}
jar包其实就是java编译出来的class文件, 或者目录里class文件打包出来的压缩包。
在终端用jar命令打包:
//把多个class文件打包成jar文件
jar -cvf my.jar a.class b.class
//把整个目录里的class文件打包成jar
jar -cvf my.jar 目录名
如mypack/test目录下有Animal.class和Human.class
打包成jar包文件:
jar -cvf my.jar mypack
打包出my.jar包文件后,就可以在其它工程里使用这个包了,方法也是用”import package名.类名”.
同时在eclipse工程里也需要指定my.jar包的路径, 设置方法:
在eclipse选中工程,右键属性, 再选中”java构建路径”, 再选中右边的”库”页选框, 然后点击”增加外部JAR(x)”加入jar包
在代码里: import 包名.类名;