在JAVA中有可能會出現三個稱為編譯單元的元素,這些元素是非必要的,但如果有的話是有順序性的!
Package(只有一個) -> import(可以有多個) -> class(可以有多個)
套件就像是一個管理容器,可以把你自己定義的名稱分別管理在package下,就不會有名字相同的情況發生,通常會把性質相似的類別集合在一起,它被設計與檔案系統結構相對應,所以如果你的套件為myPackage.test,那該類別就會在myPackage資料夾中的test資料夾裡找到,但如果.class檔沒有放在相對應的資料夾內編譯就會發生錯誤。如果沒有設定套件的類別就是把class檔放在目前工作環境的目錄中。
import可以用來引入API中的功能,或是自己定義的套件。不過有兩種情況java會自動引用。
除了這兩種還想使用其他的套件的話都需要import,要注意的是
import java.xx.*;
這樣子是引用xx資料夾內的類別,並不包含其中子目錄的類別,例如xx資料夾內還有yy資料夾,yy資料夾內的類別需要另外引入。
import java.xx.yy.*;
如果要引用套件中的所有類別可以用*。
import java.util.*;
Date date = new Date();
若只想引用其中的特定類別。
import java.util.Date;
Date date = new Date();
如果遇到類別名稱相同的情況,就要使用類別長名稱,否則編譯就是發生錯誤,畢竟它無法確定你要使用的是哪個Date。
java.sql.Date = new java.sql.Date();
java.util.Date = new java.util.Date();