笔记来源:Java核心技术卷 I(原书第11版)作者: [美] 凯 S.霍斯特曼(Cay S.Horstmann)
Java使用包(package)来组织和管理类的代码
本质就是创建不同的文件夹来保存类文件
使用包的原因:确保类名的唯一性。
假如两个程序员都不约而同地建立了Employee类,只要将这些类放在不同的包中,就不会产生冲突
0x01 类的导入一个类可以使用所属包中的所有非private类,或其他包中的公共类 (public class)
附上各个访问级别下同包的访问权限。
两种方式导入类:
- 使用完全限定名
包名后面跟着类名,如:
java.time.LocalDate today = java.time.LocalDate.now();
- 使用import语句
import语句要位于源文件的顶部,但位于package语句的后面
import java.time.LocalDate;
LocalDate today = LocalDate.now();
使用完全限定名较为繁琐,但当两个不同的包中出现相同名字的类,只能采取完全限定名
如 java.util 和 java.sql下面都有Date类,
若只需要使用其中一个Date类,为了让编译器知道你要使用哪个Date类,增加一个特定的import语句
import java.util.*;
import java.sql.*;
import java.util.Date; //指明使用util包的Date类
若这两个Date类都需要使用,在每个类名前面加上完整的包名
var deadline = new java.util.Date();
var today = new java.sql.Date(...);
静态导入:import后面加static,可以导入静态方法和静态字段,而不只是类
如在源文件顶部添加指令:
import static java.lang.Math.*;
就可以使用Math类的静态方法和静态字段,而不必加类名前缀了
import static java.lang.Math.*;
class Test {
public static void main(String[] args) {
double a = sqrt(pow(3,2) + pow(4,2));//调用Math的静态方法sqrt()和pow()
System.out.println(a); // 5.0
System.out.println(PI); // 3.141592653589793 访问Math的静态字段PI
}
}
0x02 将类写入包中
包的名字必须放在源文件的开头
打开IDEA,在src文件夹下New一个Package
可见包名应该和路径名匹配,点号(.)表示文件的嵌套关系



