为了更好的组织类,java提供了包机制,用于区别类名的命名空间
包的语言格式是packge pkg1[.pkg2[.pkg3]]
一般会使用公司域名作为包名
www.baidu.com -> com.baidu.baike com.baidu.wenku
study.j615.com -> com.j615.study
com.公司.模块
为了使用某一个包的成员,我们需要在java程序中明确导入该包。使用import语句
*星号代表导入包中所有的类
import packge1[.packge2].类名/*
- java中的包(Package)指的其实就是目录
- java工程中的文件都是放在各个包里的
- 使用包可以更好的管理工程中的文件(类、接口、图片等)
- 不同包下的文件可以重名
- 包也可以被另一个java包调用
- package语句是java文件的第一条语句,如果没有package语句则为缺省无名包(不推荐使用)
- 如果文件不是放在默认包下的,需要在最前面用package声明该类所属的包
包的使用
- 如果要使用另一个包里的类或者接口,可以直接在类名前加上包名
new java.util.Date();
- 也可以使用import来导入相应的包
import java.util.Date(); //导入指定包里的类
import java.util.* //导入指定包里全部的类;
- 不同的包下可能存在功能不同但名称相同的包,使用的时候注意进行区分
- 如果需要使用不同包下的同名类,不能同时使用import
常见包
- java.lang 包含一些java的基础语言的核心类 例如String、Math、Integer、System、Thread提供常用功能
- java.util 包含一些实用工具类 例如定义系统特征、使用与日期日历相关的方法、集合
- java.io 包含多种输出输入功能的类
- java.net 包含关于网络操作的类
- java.sql 提供使用java编程语言访问并处理存储在数据库里的数据的API
- java.awt 包含用于创建用户界面和绘制图形图像的相关类,这些类被用于构建和管理应用程序的图形用户界面(GUI)
- javax.swing 提供一组“轻量级”(全部都是java语言)组件。这些swing组件是对awt组件的改进
包中成员的访问权限
private | defalut | protected | public | |
---|---|---|---|---|
同一类 | √ | √ | √ | √ |
同一包中的类 | √ | √ | √ | |
子类 | √ | √ | ||
其他包中的类 | √ | |||
以上的访问权限指的是类中的成员(变量和方法) | ||||
类本身只有两种权限public和缺省 |