java中package是什麼,怎麼使用呢?不知道的小夥伴來看看小編今天的分享吧!
1、package簡介:
Java中package是包,爲了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。
2、作用:
把功能相似或相關的類或接口組織在同一個包中,方便類的查找和使用。
如同檔案夾一樣,包也採用了樹形目錄的存儲方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時調用兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字衝突。
3、補充說明:
package也限定了訪問權限,擁有包訪問權限的類才能訪問某個包中的類。Java使用包(package)這種機制是爲了防止命名衝突,訪問控制,提供搜尋和定位類(class)、接口、枚舉(enumerations)和註釋(annotation)等。
4、語法格式:
package pkg1[.pkg2[.pkg3…]];
例如,一個Something.java 檔案它的內容
package net.java.util;public class Something{ ...}
那麼它的路徑應該是 net/java/util/Something.java 這樣儲存的。 package(包) 的作用是把不同的 java 程序分類儲存,更方便的被其他 java 程序調用。
5、使用:
一個包(package)可以定義爲一組相互聯繫的類型(類、接口、枚舉和註釋),爲這些類型提供訪問保護和命名空間管理的功能。
以下是一些Java 中的包:
java.lang-打包基礎的類
java.io-包含輸入輸出功能的函數
開發者可以自己把一組類和接口等打包,並定義自己的包。而且在實際開發中這樣做是值得提倡的,當你自己完成類的實現之後,將相關的類分組,可以讓其他的編程者更容易地確定哪些類、接口、枚舉和註釋等是相關的。
由於包創建了新的命名空間(namespace),所以不會跟其他包中的任何名字產生命名衝突。使用包這種機制,更容易實現訪問控制,並且讓定位相關類更加簡單。
創建包
創建包的時候,你需要爲這個包取一個合適的名字。之後,如果其他的一個源檔案包含了這個包提供的類、接口、枚舉或者註釋類型的時候,都必須將這個包的聲明放在這個源檔案的開頭。
包聲明應該在源檔案的第一行,每個源檔案只能有一個包聲明,這個檔案中的每個類型都應用於它。
如果一個源檔案中沒有使用包聲明,那麼其中的類,函數,枚舉,註釋等將被放在一個無名的包(unnamed package)中。
例子
讓我們來看一個例子,這個例子創建了一個叫做animals的包。通常使用小寫的字母來命名避免與類、接口名字的衝突。
在 animals 包中加入一個接口(interface):
Animal.java 檔案代碼:
/* 檔案名: Animal.java */package animals; interface Animal { public void eat(); public void travel();}
接下來,在同一個包中加入該接口的實現:
MammalInt.java 檔案代碼:
package animals; /* 檔案名 : MammalInt.java */public class MammalInt implements Animal{ public void eat(){ System.out.println("Mammal eats"); } public void travel(){ System.out.println("Mammal travels"); } public int noOfLegs(){ return 0; } public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); }}
然後,編譯這兩個檔案,並把他們放在一個叫做animals的子目錄中。 用下面的命令來執行:
$ mkdir animals
$ cp Animal.class MammalInt.class animals
$ java animals/MammalIntMammal eatsMammal travel