Java™ 教程(管理原始檔和類檔案)

博弈發表於2019-01-19

管理原始檔和類檔案

Java平臺的許多實現依賴於分層檔案系統來管理原始檔和類檔案,儘管Java語言規範不要求這樣做,策略如下。

將類、介面、列舉或註解型別的原始碼放在文字檔案中,該檔案的名稱是型別的簡單名稱,其副檔名為.java,例如:

//in the Rectangle.java file 
package graphics;
public class Rectangle {
   ... 
}

然後,將原始檔放在一個目錄中,該目錄的名稱反映了該型別所屬的包的名稱:

.....graphicsRectangle.java

假定Microsoft Windows檔名分隔符反斜槓(對於UNIX,使用正斜槓),包成員的限定名稱和檔案的路徑名是並行的。

  • 類名 — graphics.Rectangle
  • 檔案的路徑名 — graphicsRectangle.java

你應該記得,按照慣例,公司使用其反向的網際網路域名作為其包名,Example公司的網際網路域名是example.comcom.example在它的所有包名之前,包名稱的每個元件對應一個子目錄,因此,如果Example公司有一個包含Rectangle.java原始檔的com.example.graphics包,它將包含在一系列子目錄中,如下所示:

....comexamplegraphicsRectangle.java

編譯原始檔時,編譯器會為其中定義的每種型別建立不同的輸出檔案,輸出檔案的基本名稱是型別的名稱,其副檔名為.class,例如,如果原始檔是這樣的:

//in the Rectangle.java file
package com.example.graphics;
public class Rectangle {
      . . . 
}

class Helper{
      . . . 
}

然後編譯的檔案將位於:

<path to the parent directory of the output files>comexamplegraphicsRectangle.class
<path to the parent directory of the output files>comexamplegraphicsHelper.class

.java原始檔一樣,已編譯的.class檔案應位於一系列反映包名稱的目錄中,但是,.class檔案的路徑不必與.java原始檔的路徑相同,你可以單獨排列源目錄和類目錄,如下所示:

<path_one>sourcescomexamplegraphicsRectangle.java

<path_two>classescomexamplegraphicsRectangle.class

通過這樣做,你可以將classes目錄提供給其他程式設計師而不會洩露你的原始檔,你還需要以這種方式管理原始檔和類檔案,以便編譯器和Java虛擬機器(JVM)可以找到程式使用的所有型別。

classes目錄的完整路徑<path_two>classes,稱為類路徑,並使用CLASSPATH系統變數進行設定,編譯器和JVM都通過將包名稱新增到類路徑來構造.class檔案的路徑,例如,如果

<path_two>classes

是你的類路徑,包名是:

com.example.graphics

那麼編譯器和JVM查詢.class檔案位於:

<path_two>classescomexamplegraphics.

類路徑可能包含多個路徑,用分號(Windows)或冒號(UNIX)分隔,預設情況下,編譯器和JVM搜尋當前目錄和包含Java平臺類的JAR檔案,以便這些目錄自動位於類路徑中。

設定CLASSPATH系統變數

要顯示當前的CLASSPATH變數,請在Windows和UNIX(Bourne shell)中使用以下命令:

In Windows:   C:> set CLASSPATH
In UNIX:      % echo $CLASSPATH

要刪除CLASSPATH變數的當前內容,請使用以下命令:

In Windows:   C:> set CLASSPATH=
In UNIX:      % unset CLASSPATH; export CLASSPATH

要設定CLASSPATH變數,請使用以下命令(例如):

In Windows:   C:> set CLASSPATH=C:usersgeorgejavaclasses
In UNIX:      % CLASSPATH=/home/george/java/classes; export CLASSPATH

上一篇:使用包成員

相關文章