如果你希望使用Java包中的類,就必須先使用import語句導入。
import語句與C語言中的 #include 有些類似,語法爲:
import package1[.package2…].classname;
package 爲包名,classname 爲類名。例如:
1. import java.util.Date; // 導入 java.util 包下的 Date 類
2. import java.util.Scanner; // 導入 java.util 包下的 Scanner 類
3. import javax.swing.*; // 導入 javax.swing 包下的所有類,* 表示所有類
注意:
· import 只能導入包所包含的類,而不能導入包。
· 爲方便起見,我們一般不導入單獨的類,而是導入包下所有的類,例如 import java.util.*;。
Java 編譯器默認爲所有的 Java 程序導入了 JDK 的 java.lang 包中所有的類(import java.lang.*;),其中定義了一些常用類,如 System、String、Object、Math 等,因此我們可以直接使用這些類而不必顯式導入。但是使用其他類必須先導入。
前面講到的”Hello World“程序使用了System.out.println(); 語句,System 類位於 java.lang 包,雖然我們沒有顯式導入這個包中的類,但是Java 編譯器默認已經爲我們導入了,否則程序會執行失敗。
Java類的搜索路徑
Java程序運行時要導入相應的類,也就是加載 .class 文件的過程。
假設有如下的 import 語句:
1. import p1.Test;
該語句表明要導入 p1 包中的 Test 類。
安裝JDK時,我們已經設置了環境變量 CLASSPATH 來指明類庫的路徑,它的值爲 .;%JAVA_HOME%\lib,而 JAVA_HOME 又爲 D:\Program Files\jdk1.7.0_71,所以 CLASSPATH 等價於 .;D:\Program Files\jdk1.7.0_71\lib。
Java 運行環境將依次到下面的路徑尋找並載入字節碼文件 Test.class:
· .p1\Test.class("."表示當前路徑)
· D:\Program Files\jdk1.7.0_71\lib\p1\Test.class
如果在第一個路徑下找到了所需的類文件,則停止搜索,否則繼續搜索後面的路徑,如果在所有的路徑下都未能找到所需的類文件,則編譯或運行出錯。
你可以在CLASSPATH變量中增加搜索路徑,例如 .;%JAVA_HOME%\lib;C:\javalib,那麼你就可以將類文件放在 C:\javalib 目錄下,Java運行環境一樣會找到。