導語
相信寫代碼比較多,或者經常使用非標準類庫的時候,就會用到命名空間, 通常在寫一些比較小的程序的時候,我們程序中的類的名字是很難重名的,但是如果寫的程序牽扯到許多的類庫啊,啥的,,就有可能遇到重名的現象,那麼這個時候我們該怎麼處理呢,命名空間就這樣誕生了,也就相當於我們的名字 比如一班有個 叫小明 的二班也有一個,這個時候我們可以使用在他們前面加 班級來區分
一般來講很多人在自己的代碼中都寫過這樣一句話: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;
推薦使用倒域名區命名 包,這樣可以極大限度的降低包的重名率