Java基础语法11:包机制

Java基础语法11:包机制

包机制(Package) 是用于管理类和接口的命名空间,主要作用是避免类名冲突、组织代码结构以及控制访问权限。它类似于操作系统中的文件夹,将相关的类和接口归类到同一个 “文件夹”(包)中,使代码更易于维护和管理。

包的基本概念

定义

包是一组相关类和接口的集合,通过package语句声明在Java源文件的最开头。

package pkg1[.pkg2[.pkg3···]]

作用

  1. 避免命名冲突:不同包中可以存在同名的类(例如java.util.Datejava.sql.data)。
  2. 代码组织:按功能或模块划分包(如com.company.dao用于数据访问,com.company.service用于业务逻辑)。
  3. 访问控制:通过包级权限(无修饰符)限制类的访问范围(仅同包可见)。

包的声明与命名规范

声明包

在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包下的所有类(不包括子包)
  • 注意事项
  1. import语句位置:必须在package语句之后,类定义之前。
  2. 子包不自动导入:import com.xiaochaole.*仅导入com.xiaochaole包下的类,不包括com.xiaochaole.base等子包。
  3. 同类名冲突:若导入的两个包中有同类名(如java.util.Datejava.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();
}
posted @ 2025-07-17 17:29  消消小潮乐  阅读(40)  评论(0)    收藏  举报