Java的Package到底是什么概念

Python024

Java的Package到底是什么概念,第1张

package是名称前缀,xxx.xxx.xxx.User

就像外国人的姓名一样分很多段,既能区分出各种重名的class,比如有好几个不同项目里都有User。也可以用来分类,好辨认。

import

xxx.xxx.xxx.User之后,代码里只要简写User,程序就知道它的全名了,从import里找。

如果一段代码里出现了两个不同的User,那就不能靠import了,就得写完整名称来

new

xxx.xxx.xxx.User()

Java包(package)

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

包的作用

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

包语句的语法格式为:

packagepkg1[.pkg2[.pkg3?]]

例如,一个Something.java文件它的内容

packagenet.java.utilpublicclassSomething{

 ...}

那么它的路径应该是 net/java/util/Something.java 这样保存的。package(包)的作用是把不同的java程序分类保存,更方便的被其他java程序调用。

一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。

以下是一些Java中的包:

java.lang-打包基础的类

java.io-包含输入输出功能的函数

开发者可以自己把一组类和接口等打包,并定义自己的包。而且在实际开发中这样做是值得提倡的,当你自己完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和注释等是相关的。

由于包创建了新的命名空间(namespace),所以不会跟其他包中的任何名字产生命名冲突。使用包这种机制,更容易实现访问控制,并且让定位相关类更加简单。

不是必须的,如果没有的话会自动产生一个默认的(default package),相当于一个文件夹,abc.def表示abc文件夹下的def文件夹,一个点表示一个层,点越多内容放的越深。包用于放同一类或者功能类似的内容