管理源文件和類文件
Java平臺的許多實現(xiàn)依賴于分層文件系統(tǒng)來管理源文件和類文件,盡管Java語言規(guī)范不要求這樣做,策略如下。
將類、接口、枚舉或注解類型的源代碼放在文本文件中,該文件的名稱是類型的簡單名稱,其擴展名為.java,例如:
//in the Rectangle.java file package graphics; public class Rectangle { ... }
然后,將源文件放在一個目錄中,該目錄的名稱反映了該類型所屬的包的名稱:
.....graphicsRectangle.java
假定Microsoft Windows文件名分隔符反斜杠(對于UNIX,使用正斜杠),包成員的限定名稱和文件的路徑名是并行的。
類名 — graphics.Rectangle
文件的路徑名 — graphicsRectangle.java
你應該記得,按照慣例,公司使用其反向的互聯(lián)網(wǎng)域名作為其包名,Example公司的互聯(lián)網(wǎng)域名是example.com,com.example在它的所有包名之前,包名稱的每個組件對應一個子目錄,因此,如果Example公司有一個包含Rectangle.java源文件的com.example.graphics包,它將包含在一系列子目錄中,如下所示:
....comexamplegraphicsRectangle.java
編譯源文件時,編譯器會為其中定義的每種類型創(chuàng)建不同的輸出文件,輸出文件的基本名稱是類型的名稱,其擴展名為.class,例如,如果源文件是這樣的:
//in the Rectangle.java file package com.example.graphics; public class Rectangle { . . . } class Helper{ . . . }
然后編譯的文件將位于:
comexamplegraphicsRectangle.class comexamplegraphicsHelper.class
與.java源文件一樣,已編譯的.class文件應位于一系列反映包名稱的目錄中,但是,.class文件的路徑不必與.java源文件的路徑相同,你可以多帶帶排列源目錄和類目錄,如下所示:
sourcescomexamplegraphicsRectangle.java classescomexamplegraphicsRectangle.class
通過這樣做,你可以將classes目錄提供給其他程序員而不會泄露你的源文件,你還需要以這種方式管理源文件和類文件,以便編譯器和Java虛擬機(JVM)可以找到程序使用的所有類型。
classes目錄的完整路徑
classes
是你的類路徑,包名是:
com.example.graphics
那么編譯器和JVM查找.class文件位于:
classescomexamplegraphics.
類路徑可能包含多個路徑,用分號(Windows)或冒號(UNIX)分隔,默認情況下,編譯器和JVM搜索當前目錄和包含Java平臺類的JAR文件,以便這些目錄自動位于類路徑中。
設置CLASSPATH系統(tǒng)變量要顯示當前的CLASSPATH變量,請在Windows和UNIX(Bourne shell)中使用以下命令:
In Windows: C:> set CLASSPATH In UNIX: % echo $CLASSPATH
要刪除CLASSPATH變量的當前內(nèi)容,請使用以下命令:
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上一篇:使用包成員 下一篇:什么是異常?
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/72948.html
Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實踐沒有利用在后續(xù)版本中引入的改進。 Java教程是希望使用Java編程語言創(chuàng)建應用程序的程序員的實用指南,其中包括數(shù)百個完整的工作示例和數(shù)十個課程,相關課程組被組織成教程。 覆蓋基礎知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術和安裝Java開發(fā)軟件并使用...
包 本課程解釋了如何將類和接口捆綁到包中,如何使用包中的類,以及如何安排文件系統(tǒng)以便編譯器可以找到源文件。 創(chuàng)建和使用包 為了使類型更易于查找和使用,避免命名沖突和控制訪問,程序員將相關類型的組捆綁到包中。 定義:包是一組提供訪問保護和名稱空間管理的相關類型,請注意,類型引用類、接口、枚舉和注解類型,枚舉和注解類型分別是特殊的類和接口,因此在本課中通常將類型簡稱為類和接口。 作為Java平臺一部...
什么是異常? exception一詞是exceptional event這一短語的簡寫。 定義:異常是在程序執(zhí)行期間發(fā)生的事件,它會破壞程序指令的正常流程。 當方法中發(fā)生錯誤時,該方法會創(chuàng)建一個對象并將其交給運行時系統(tǒng),該對象稱為異常對象,包含有關錯誤的信息,包括錯誤發(fā)生時的類型和程序狀態(tài),創(chuàng)建異常對象并將其交給運行時系統(tǒng)稱為拋出異常。 在方法拋出異常后,運行時系統(tǒng)會嘗試查找處理它的內(nèi)容,處理異常...
使用包成員 組成包的類型稱為包成員。 要從其包外部使用公共包成員,你必須執(zhí)行以下操作之一: 通過其完全限定名稱引用該成員 導入包成員 導入成員的整個包 每種情況都適用于不同的情況,如以下各節(jié)所述。 通過其完全限定名稱引用包成員 到目前為止,本教程中的大多數(shù)示例都通過簡單名稱引用類型,例如Rectangle和StackOfInts,如果你編寫的代碼與該成員位于同一個包中,或者已導入該成員,則可以...
抽象方法和類 抽象類是一個聲明為abstract的類 — 它可能包括也可能不包括抽象方法,抽象類無法實例化,但可以進行子類化。 抽象方法是在沒有實現(xiàn)的情況下聲明的方法(沒有大括號,后跟分號),如下所示: abstract void moveTo(double deltaX, double deltaY); 如果一個類包含抽象方法,那么該類本身必須被聲明為abstract,如: public abs...
閱讀 1530·2023-04-25 16:31
閱讀 2109·2021-11-24 10:33
閱讀 2801·2021-09-23 11:33
閱讀 2619·2021-09-23 11:31
閱讀 3020·2021-09-08 09:45
閱讀 2408·2021-09-06 15:02
閱讀 2724·2019-08-30 14:21
閱讀 2373·2019-08-30 12:56