一旦要在自己的程序裡使用一個預先定義好的類,編譯器就必須知道如何找到它。當然,這個類可能就在發出調用的那個相同的源碼文件裡。如果是那種情況,只需簡單地使用這個類即可——即使它直到文件的後面仍未得到定義。Java消除了“向前引用”的問題,所以不要關心這些事情。
但假若那個類位於其他文件裡呢?您或許認為編譯器應該足夠“聯盟”,可以自行發現它。但實情並非如此。假設我們想使用一個具有特定名稱的類,但那個類的定義位於多個文件裡。或者更糟,假設我們准備寫一個程序,但在創建它的時候,卻向自己的庫加入了一個新類,它與現有某個類的名字發生了沖突。
為解決這個問題,必須消除所有潛在的、糾纏不清的情況。為達到這個目的,要用import關鍵字准確告訴Java編譯器我們希望的類是什麼。import的作用是指示編譯器導入一個“包”——或者說一個“類庫”(在其他語言裡,可將“庫”想象成一系列函數、數據以及類的集合。但請記住,Java的所有代碼都必須寫入一個類中)。
大多數時候,我們直接采用來自標准Java庫的組件(部件)即可,它們是與編譯器配套提供的。使用這些組件時,沒有必要關心冗長的保留域名;舉個例子來說,只需象下面這樣寫一行代碼即可:
import java.util.Vector;
它的作用是告訴編譯器我們想使用Java的Vector類。然而,util包含了數量眾多的類,我們有時希望使用其中的幾個,同時不想全部明確地聲明它們。為達到這個目的,可使用“*”通配符。如下所示:
import java.util.*;
需導入一系列類時,采用的通常是這個辦法。應盡量避免一個一個地導入類。