1. 首先是没有引入包的源码
public class FighterPlane {
String name;
int missileNum;
void fire() {
if(missileNum > 0) {
System.out.println("now fire a missile!");
missileNum -= 1;
}
else {
System.out.println("No missile left!");
}
}
}
public class RunPlane {
public static void main(String args[]) {
FighterPlane fp = new FighterPlane();
fp.name = "苏35";
fp.missileNum = 6;
fp.fire();
}
}
虽然没有引入包,但这是包的一种特殊存在形式----默认包
2. 引入包
(1)目录形式包
建立如图文件夹
将FighterPlane.java存在com.resource文件夹中,将RunPlane.java存放到com.run文件夹中,deliver文件夹用于存放包文件.
修改源代码
FighterPlane.java文件:
package com.resource;
public class FighterPlane
{
public String name;
public int missileNum;
public void fire(){
if (missileNum>0){
System.out.println("now fire a missile !");
missileNum -= 1;
}
else{
System.out.println("No missile left !");
}
}
}
进入4.16目录,执行命令行
javac -d .deliver com
esourdeFighterPlane.java
在deliver文件夹下出现com、resource的子目录,看作包。
RunPlane.java文件:
package com.run;
import com.resource.*;
public class RunPlane
{
public static void main(String args[]){
FighterPlane fp = new FighterPlane();
fp.name = "苏35";
fp.missileNum = 6;
fp.fire();
}
};
进入4.16目录,编译,执行命令行
javac -d .deliver -classpath .deliver com
esourdeRunPlane.java
执行RunPlane.
java -classpath .deliver com.run.RunPlane
目录形式包创建成功
(2)jar文件包
将先前的包通过如下命令压缩成一个文件
Jar cvf first.jar -C deliver .
jar为JDK工具,c(create,创建一个新文件);v(生成详细输出到标准输出上);f(指定存档文件名,也就是后面的first,jar);-C的作用是将指定目录下的所有包进行打包;“deliver .”是你将其下所有文件压缩到first.jar当中。
有了first.jar,就可以采用如下方式执行程序,假设当前路径为“D:”下
java -classpath d:4.16first.jar com.run.RunPlane
jar包创建成功