11 套裝
11.1 原始檔和類別檔
11.2 套裝的組成
一組相關的類別可以裝在一起,即是套裝(package)。
套裝中每一原始檔的第一個指令必須是:
package packagename;
例如,套裝 ccj 中每一原始檔的第一個指令都是
package ccj;
使用套裝中的類別,必須列出全名,如
ccj.Circle c = new ccj.Circle(new ccj.Point(100, 200), 30);
也可先 import 套裝名稱,如
import ccj.Circle;
或
import ccj.*;
* 表示套裝中的所有類別, 則上例可寫成
Circle c = new Circle(new Point(100, 200), 30);
11.3 放置類別的位置
類別放置在和套裝名稱相符的檔案目錄中。 套裝名稱中的 "." 代表次目錄,如套裝名稱為
java.awt
則該套裝的類別檔案在次目錄 java\awt 中。
附帶說明:
- 套裝的起始目錄可在環境變數 classpath 中予以規定。
- 執行 java 的類別檔時,不附加檔名延申 .class ,:
java Hello
因為 java Hello.class 是執行目錄 Hello 中的類別檔 class。
11.4 接達控制(Access Control)
- public
- private
- protected
- Package -- the default, if not specified
11.5 靜態(static)變數與常數
函數宣告為 static 的即為類別方法(class method)。
同樣靜態變數為類別變數(class variable), 即可為類別中所有物件使用。
靜態常數也是如此,如套裝 java.lang 中類別 Math 的常數 PI。
11.6 套裝例題
套裝: Expression.java
測試程式: Calculator.java