一.包的使用
为了更好的实现项目中类的管理,提供包的概念。
package
语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。
它的格式为:package 顶层包名.子包名 ;
二.java中主要的包
三.编译java中的包
package a.b.c.d;
public class Pack {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}
编译运行:
root@ubuntu:/home/topeet/guyilian# javac -d . Pack.java
root@ubuntu:/home/topeet/guyilian# ls
a Pack.java
root@ubuntu:/home/topeet/guyilian# cd a/b/c/d
root@ubuntu:/home/topeet/guyilian/a/b/c/d# ls
Pack.class
root@ubuntu:/home/topeet/guyilian/a/b/c/d# cd ../../../..
root@ubuntu:/home/topeet/guyilian# java a.b.c.d.Pack
Hello, world!
四.使用java中的包
(1)为使用定义在不同包中的Java类,需用import
语句来引入指定包层次下所需要的类或全部类,import
语句告诉编译器到哪里去寻找类。
(2)语法格式:import 包名. 类名
实验:
root@ubuntu:/home/topeet/guyilian# vi lisi/Math.java
package a.b.c.d1;
public class Math {
public static int add(int x, int y) {
return x + y;
}
}
root@ubuntu:/home/topeet/guyilian# vi zhangsan/Math.java
package a.b.c.d2;
public class Math {
public static int sub(int x, int y) {
return x - y;
}
public static int add(int x, int y) {
return x + y + 2;
}
}
root@ubuntu:/home/topeet/guyilian# vi zhangsan/Print.java
package a.b.c.d2;
public class Print {
public static void printInfo() {
System.out.println("package: a.b.c.d2");
}
}
root@ubuntu:/home/topeet/guyilian# vi Pack.java
import a.b.c.d1.*;
import a.b.c.d2.*;
public class Pack {
public static void main(String args[]) {
/* add */
System.out.println(a.b.c.d1.Math.add(1,2));
System.out.println(a.b.c.d2.Math.add(1,2));
/* sub */
System.out.println(a.b.c.d2.Math.sub(1,2));
a.b.c.d2.Print.printInfo();
Print.printInfo();
}
}
编译:
root@ubuntu:/home/topeet/guyilian# javac -d . lisi/Math.java
root@ubuntu:/home/topeet/guyilian# javac -d . zhangsan/Math.java
root@ubuntu:/home/topeet/guyilian# javac -d ./zhangsan/Print.java
root@ubuntu:/home/topeet/guyilian# javac Pack.java
root@ubuntu:/home/topeet/guyilian# java Pack
3
5
-1
package: a.b.c.d2
package: a.b.c.d2