包是java提供的一种类的保护机制,确保了类的唯一性
- 一个完整的类名是包名+类名,在没有import导入的情况下,使用一个类需要给出完整的类名,如java.util.Date。为了方便,Java自动导入两个包:java.lang包和默认包。
- 命名规范:
公司域名倒着写 com.xxxx.xxxx - Java的包表面上看(从路径上看)是有等级的,但实际上并没有,比如java.awt,java.awt.color是两个地位相同的包。java.awt.color并不属于java.awt
包的作用
方便组织代码,并将代码与别人提供的代码库分开管理。
将相关联的接口和类集合到一块。比如,package graphics; 就把图形处理相关的模块放到了一起。便于使用。
如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
实现了外界对包的访问控制。 需要先进行导入。
包信息存在与java文件的首行
import
一、当导入的两个包中有相同的类名时,你就要使用这个类的全名。比如,java.util、java.sql包中都有Date类,程序又同时导入了这两个包中的Date类。
二、静态导入,导入静态域和静态方法。
三、模糊匹配 *
模糊匹配当前包下的所有类 import java.util.*;
影响编译效率不会影响运行效率