Java 快速導覽 - 套件

Java 利用套件 (package) 組織編譯過的 .class 檔案,這是說設計好類別 (class) 後,在原始程式碼的檔案開頭利用關鍵字 (keyword) package 宣告所屬套件,如下

package 套件名稱;


所謂的套件其實就是利用資料夾(或稱目錄)整理 .class 檔案的方法。例如,我們有以下兩個原始程式碼檔案,第一個定義 ADemo 類別,宣告為 demo 套件
package demo;

public class ADemo {
    public int data = 55;
    
    public void hello() {
        System.out.println("This is ADemo....");
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:ADemo.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


第二個定義 BDemo 類別,同樣宣告為 demo 套件
package demo;

public class BDemo {
    public int data = 22;
    
    public void hello() {
        System.out.println("This is BDemo....");
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:BDemo.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯時要注意,必須指定目錄路徑,如下



這裡 javac 指令多了一個參數「 -d . 」,「 -d 」是指定目錄路徑,而「 . 」為目前的目錄,實際編譯成功的 .class 檔案會放在目前目錄裡的「 demo 」資料夾中。


如果我們要利用 ADemo 與 BDemo 兩個類別,程式中指定套件即可,如下
public class P1Drive {
    public static void main(String[] args) {
        demo.ADemo a = new demo.ADemo();
        demo.BDemo b = new demo.BDemo();
        
        System.out.println(a.data);
        a.hello();
        System.out.println(b.data);
        b.hello();
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:P1Drive.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯後執行,如下



第 3 行及第 4 行
demo.ADemo a = new demo.ADemo();
demo.BDemo b = new demo.BDemo();


這邐迤完整的套件路徑使用 ADemo 與 BDemo ,編譯器 (complier) 會自動從指定路徑尋找 .class 檔案,使 P1Drive.class 與 ADemo.class 、 BDemo.class 產生關聯。


基本上 Java API ,也就是 Java 官方提供的程式庫都是以這樣的模式組織的,可用另一個關鍵字 import 單獨引入所需功能的名稱。


中英文術語對照
套件package
類別class
關鍵字keyword
編譯器complier






沒有留言: