Java知多少(9) import及Java類的搜尋路徑

來源:互聯網
上載者:User

標籤:

如果你希望使用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類的搜尋路徑假設有如下的 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運行環境一樣會找到。  

系列文章:

Java知多少(1)語言概述

Java知多少(2)虛擬機器(JVM)以及跨平台原理

Java知多少(3) 就業方向

Java知多少(4)J2SE、J2EE、J2ME的區別

Java知多少(5) Java開發環境的搭建

Java知多少(6)第一個程式樣本

Java知多少(7)類與對象

Java知多少(8)類庫及其組織圖

Java知多少(9) import及Java類的搜尋路徑

Java知多少(9) import及Java類的搜尋路徑

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.