關於檔案的切割
您可以將各個類別 (class) 獨立存成個別檔案。
關於 package
當遇上類別名稱 (class name) 相同的情況,這時候 的權宜之計就是採用 package (套件、套裝)的概念
。
使用方法宣告一個 package 把類別包起來。就是在原 來類別 (class) 程式的最前面再加上一行 package 宣 告,這樣就不會再受到類別名稱相同的困擾了。
package package 名稱 ;
用 package 把原始檔案裏面的類別 (class) 納進來
在 package 中納入 class 的程序:
關於 package
在原來的工作目錄下建立一個與 package 名稱相同 的資料夾,再把原始檔案儲存在這裡。
在原來的工作目錄下,輸入「 javac 目錄名稱\原 始檔案名稱」,並加以編譯。
在原來的工作目錄下,輸入「 javac package 名稱
. 類別名稱」即可執行。
隸屬在同一個 package 之中
即使類別本身原本已經是一個獨立的檔案,還是可以 讓它們隸屬於同一個 package pa 之下。
package pa;
class Sample3 {
public static void main(String args [])
{
Car car1 = new Car();
car1.show();
} }
Sample3 類別包含於 package pa 之中
隸屬在同一個 package 之中
使用不同 package 內的類別
從自己所屬的 package 內存取到其他 package 內的類 別,有 2 件事您必須先完成:
1. 被存取的類別,前面必須加上 public
2. 存取別人的類別的程式中,要清楚指定「被存取
的 package 名稱 . 類別名稱」
使用不同 package 內的 類別
package 名稱和類別名稱
在一個大型的 Java 程式中,由於會存取大量的類別
,因此類別名稱重複的機會很大,因此面對重複的類 別名稱時應該如何加以區別,在 Java 內部有一塊空 間專門用來蒐集類別名稱,這個空間被稱為 namespac e (名稱空間),只要隸屬於不同 package 的類別就 會被存放在不同的 namespace 當中。由於這個機制,
只要 package 名稱不同,就不必擔心類別名稱是否相
同的問題。
關於匯入 (import)
透過這種方式,在程式中如果要存取該類別時,完全 不必再加上 package 名稱,只要直接使用類別名稱即 可,上述這種方式在 Java 當中稱為匯入 (import) 。
import package 名稱 . 類別名稱 ;
直接匯入其他 package 下的類別
import pc.Car
Car car1 = new Car();
此後終於不必再寫 package 名稱了建立 subpackage
當您的 package 愈來愈多時,按照類別的角色劃歸給 不同的 package ,最後形成各種特殊作用的 package
,這種事先分類的做法對於未來進一步利用 package
撰寫程式有莫大的幫助。
類別庫的 package
Java 早就把功能相近的類別 (class) 歸類到不同的 pa ckage 當中,下表是比較常用的 package 。
package 名稱 package 所包含之類別其主要功能 java.applet 與 Java Applet 相關的類別
java.awt 與視窗元件設計相關的類別 java.awt.event 與事件 (event) 相關的類別 java.lang 最基本的類別
java.io 與 I/O 相關的類別 java.net 與網路相關的類別 java.util 與 Utility 相關的類別
匯入多個類別
您如果要一口氣匯入同一個 package 下的多個類別,
只要透過萬用字元 (*) 就能夠一次全部匯入。
Import java.io.*
java.io 下所有類別全部匯入但是萬一您指定的 package 下還有 sub package ,則 需看您要匯入哪一個 sub package 的類別,利用 impor t 指令在匯入一次 sub package 就好了。
import java.awt.*;
import java.awt.image.*:
sub package 下的類別不會被匯入 您必須針對需要的 sub package 再匯入一次