Java 中建立包
什麼是 Java 中的包(Package)?
Package 是相關類的集合。它有助於將你的類組織成資料夾結構,並使其易於查詢和使用。更重要的是,它有助於提高可重用性。
Java 中的每個包都有其唯一的名稱,並將其類和介面組織到單獨的名稱空間或名稱組中。
雖然具有相同名稱的介面和類不能出現在同一個包中,但它們可以出現在不同的包中。這可以通過為每個包分配單獨的名稱空間來實現。
語法:-
package nameOfPackage;
讓我們用一個例子來研究包。我們定義一個類和物件,然後在我們的包 p1 中編譯它。編譯之後,我們將程式碼作為 java 包執行。
步驟 1: 考慮以下程式碼,
package p1;
class c1(){
public void m1(){
System.out.println("m1 of c1");
}
public static void main(string args[]) {
c1 obj = new c1();
obj.m1();
}
}
這裡,
- 要將類放入包中,在第一行程式碼中定義包
p1
- 建立一個類
c1
- 定義列印行的方法 m1。
- 定義主要方法
- 建立類
c1
的物件 - 呼叫方法
m1
步驟 2: 在下一步中,將此檔案另存為 demo.java
步驟 3: 在這一步中,我們編譯檔案。
java demo.java
編譯完成。建立一個類檔案 c1。但是,沒有建立包?下一步有解決方案
步驟 4: 現在我們必須建立一個包,使用命令
javac –d . demo.java
此命令強制編譯器建立包。
.
運算子代表當前的工作目錄。
步驟 5: 執行程式碼時,它會建立一個包 p1。當你在裡面開啟 java 包 p1 時,你會看到 c1.class 檔案。
步驟 6: 使用以下程式碼編譯同一檔案
javac –d .. demo.java
這裡 ..
表示父目錄。在我們的案例中,檔案將儲存在父目錄 C 盤中
執行上述程式碼時,檔案儲存在父目錄中。
步驟 7: 現在假設你想在我們現有的 java 包 p1 中建立一個子包 p2。然後我們將修改我們的程式碼
package p1.p2
步驟 8: 編譯檔案
它建立了一個子包 p2,包中包含類 c1。
步驟 9: 要執行程式碼,請提及類的完全限定名稱,即包名稱後跟子包名稱,後跟類名稱 -
java p1.p2.c1
這是包的執行方式,並從程式碼檔案中輸出 m1 of c1
。
匯入包
要建立類的物件(捆綁在包中),在程式碼中必須使用其完全限定名稱。
例:
java.awt.event.actionListner object = new java.awt.event.actionListner();
但是,為要使用的每個類鍵入長點分隔的包路徑名稱可能會變得很繁瑣。相反,建議你使用 import
語句。
語法
import packageName;
匯入後,你可以使用該類而不提及其完全限定名稱。
import java.awt.event.*; //* signifies all classes in this package are imported
import javax.swing.JFrame //here only the JFrame class is imported
//Usage
JFrame f = new JFrame; //without fully qualified name.
示例:匯入包
步驟 1: 將程式碼複製到編輯器中。
package p3;
import p1.*; //imports classes only in package p1 and NOT in the sub-package p2
class c3{
public void m3(){
System.out.println("Method m3 of Class c3");
}
public static void main(String args[]){
c1 obj1 = new c1();
obj1.m1();
}
}
步驟 2: 將檔案另存為 Demo2.java。使用命令** javac -d 編譯檔案。Demo2.java**
步驟 3: 使用命令** java p3.c3** 執行程式碼
Package - 注意事項:
- 為了避免命名衝突,包中給出了公司域名的名稱,反之例如:com.tastones, com.microsoft,com.infosys 等
- 未指定包名時,類位於預設包(當前工作目錄)中,並且包本身沒有名稱。因此,你可以提前執行分配。
- 在建立包時,應注意必須在任何其他
import
語句之前寫入建立包的語句
//not allowed
import package p1.*;
package p3;
//correct syntax
package p3;
import package p1.*;
對於你在 Java 中建立的任何類,預設情況下都會匯入* java.lang 包*。
Java API 非常廣泛,包含幾乎可以執行從資料結構操作到網路的所有程式設計任務的類。通常,你將在程式碼中使用 API檔案。你可以看到 API 文件這裡。