Java import以及Java類的搜索路徑

如果你希望使用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運行環境一樣會找到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章