一.包的使用
为了更好的实现项目中类的管理,提供包的概念。
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.javapackage 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.javapackage 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.javaimport 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