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 |
參考資料
http://download.oracle.com/javase/tutorial/java/package/packages.html
http://download.oracle.com/javase/tutorial/java/package/createpkgs.html
http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html
http://download.oracle.com/javase/tutorial/java/package/usepkgs.html
http://download.oracle.com/javase/tutorial/java/package/managingfiles.html
http://download.oracle.com/javase/tutorial/java/package/packages.html
http://download.oracle.com/javase/tutorial/java/package/createpkgs.html
http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html
http://download.oracle.com/javase/tutorial/java/package/usepkgs.html
http://download.oracle.com/javase/tutorial/java/package/managingfiles.html
沒有留言:
張貼留言