如果你希望使用Java包中的類,就必須先使用import語句導入。
import語句與C語言中的 #include 有些類似,語法為:
import package1[.package2…].classname;
package 為包名,classname 為類名。例如:
注意:
Java 編譯器默認為所有的 Java 程序導入了 JDK 的 java.lang 包中所有的類(import java.lang.*;),其中定義了一些常用類,如 System、String、Object、Math 等,因此我們可以直接使用這些類而不必顯式導入。但是使用其他類必須先導入。
前面講到的”Hello World“程序使用了System.out.println(); 語句,System 類位於 java.lang 包,雖然我們沒有顯式導入這個包中的類,但是Java 編譯器默認已經為我們導入了,否則程序會執行失敗。
該語句表明要導入 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:
如果在第一個路徑下找到了所需的類文件,則停止搜索,否則繼續搜索后面的路徑,如果在所有的路徑下都未能找到所需的類文件,則編譯或運行出錯。
你可以在CLASSPATH變量中增加搜索路徑,例如 .;%JAVA_HOME%\lib;C:\javalib,那么你就可以將類文件放在 C:\javalib 目錄下,Java運行環境一樣會找到。
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類的搜索路徑
假設有如下的 import 語句:1 import 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運行環境一樣會找到。