Java基础语法11:包机制
Java基础语法11:包机制
包机制(Package) 是用于管理类和接口的命名空间,主要作用是避免类名冲突、组织代码结构以及控制访问权限。它类似于操作系统中的文件夹,将相关的类和接口归类到同一个 “文件夹”(包)中,使代码更易于维护和管理。
包的基本概念
定义
包是一组相关类和接口的集合,通过package语句声明在Java源文件的最开头。
package pkg1[.pkg2[.pkg3···]]
作用
- 避免命名冲突:不同包中可以存在同名的类(例如
java.util.Date和java.sql.data)。 - 代码组织:按功能或模块划分包(如
com.company.dao用于数据访问,com.company.service用于业务逻辑)。 - 访问控制:通过包级权限(无修饰符)限制类的访问范围(仅同包可见)。
包的声明与命名规范
声明包
在Java源文件的第一行使用package语句声明包,格式如下:
package com.xiaochaole.base;
package语句必须是源文件的第一条可执行语句,前面不能有任何代码(注释除外)。
命名规范
- 包名通常采用反转的域名(避免全球范围内的命名冲突),例如:
- 公司域名
www.baidu.com→包名com.baidu.www - 组织域名
apache.org→包名org.apache
- 公司域名
- 包名由小写字母组成,多级包之间用
.分隔,代表目录层级(com.company对应文件夹com/company)。 - 避免使用关键字作为包名。
- 实例操作,建一个名为
com.xiaochaole的包,若只能生成一级的包,取消Compack Middle Packagea勾选
![11.1]()
使用其他包中的类
要使用其他包中的类,有两种方式:全类名和import语句。
1.全类名(完整包名+类名)
直接在代码中使用类的完整名称(包名+类名):
public class Test{
public static void main(String[] args){
java.until.Date date = new java.util.Date();//全类名访问
}
}
2.import语句(简化访问)
通过import语句导入其他包中的类,之后可直接使用类名:
import java.util.Date; // 导入单个类
public class Test {
public static void main(String[] args) {
Date date = new Date(); // 直接使用类名
}
}
- 导入多个类:
import java.util.Date;
import java.util.List; // 逐个导入
- 导入整个包:
import java.util.*; // 导入java.util包下的所有类(不包括子包)
- 注意事项
import语句位置:必须在package语句之后,类定义之前。- 子包不自动导入:
import com.xiaochaole.*仅导入com.xiaochaole包下的类,不包括com.xiaochaole.base等子包。 - 同类名冲突:若导入的两个包中有同类名(如
java.util.Date和java.sql.Date),必须使用全类名区分:
import java.util.Date;
import java.sql.Date; // 编译错误:同名类冲突
// 正确做法:保留一个import,另一个用全类名
import java.util.Date;
public class Test {
java.sql.Date sqlDate = new java.sql.Date(0);
Date utilDate = new Date();
}


浙公网安备 33010602011771号