导语
相信写代码比较多,或者经常使用非标准类库的时候,就会用到命名空间, 通常在写一些比较小的程序的时候,我们程序中的类的名字是很难重名的,但是如果写的程序牵扯到许多的类库啊,啥的,,就有可能遇到重名的现象,那么这个时候我们该怎么处理呢,命名空间就这样诞生了,也就相当于我们的名字 比如一班有个 叫小明 的二班也有一个,这个时候我们可以使用在他们前面加 班级来区分
一般来讲很多人在自己的代码中都写过这样一句话:using namespace std;
这个就是使用标准类库的命名空间。
那什么是命名空间呢
- 命名空间:
实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。 - 命名空间的作用:
是建立一些互相分隔的作用域,把一些全局实体分隔开来。避免重名这样的问题,导致在编译分时候,编译器不知道所需要使用的类 或方法 是那一个
java 中的包
通常在写java 代码的时候基本上都会,写上几句像这样代码
``` java
import java.*;
导入一些个类库, 但有时候我们会使用到不同包内的同名类,比如我们使用sqlite 时,Android 原生类库里面提供了一个不能加密的sqlite 类库,但是当我需要时用加密的时候,我们就必须使用开源的其他加密类库,但是为了代码书写的方便,我们在设计这种内库时尽量使用与原来类库相似的 命名,这样可以极大的降低学习的难度,同时有时候很多代码,都必须要怎么改动,直接换掉类库(导入的package)就行了。
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
- 包的作用
1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
- 定义方法
packet cn.com.itisme;
推荐使用倒域名区命名 包,这样可以极大限度的降低包的重名率