2011-02-28 156 views

回答

11

包是一種方式邏輯上組織您的課程。例如,您可以在每個源文件的頂部聲明package com.foo;,這些文件足夠相關以便一起駐留在com.foo包中。 Java編譯器和運行時也希望你將這些文件放在路徑com/foo/中,其中此路徑的根目錄是類路徑中的目錄或JAR。

JAR文件讓你物理組織你的課程。您可以使用任何Java文件(及其父目錄,尊重上面討論的目錄結構)並將它們存儲在JAR文件中。 JAR文件可能包含屬於多個包的文件,並且多個JAR文件可能包含屬於同一個包的文件。因此,JAR文件主要是將多個類文件存儲在單個物理文件中的一種方法。

JAR文件還有其他一些特殊的特徵。例如,您可以在JAR清單中指定Main-Class值來指定哪個類是應用程序的入口點,並且您可以在JAR文件中打包seal,這意味着該包中定義的所有類都必須歸檔相同的JAR文件「。

+3

請注意,通常情況下,您會將類文件放入jar文件中,而不是Java文件。 – cHao 2011-02-28 05:19:18

+0

Java中包的強制性原因是將它們用作名稱空間,以允許兩個開發人員命名其類Hello,只要它們使用不同的包(或在同一應用程序中具有兩個Parser類)。 Java提供規則來命名包(例如,基於DNS約定),並且不鼓勵使用默認(未命名)包來防止類名衝突。 – mins 2014-05-09 16:53:43

-1

在classpath中jar和package(目錄)是相同的結構。只是在目錄之間移動計算機之間jar更有用。

3

軟件包是Java中用於將類組織到名稱空間中的一種機制。 jar是一個Java ARchive,一個將多個Java類聚合爲一個文件的文件。

2

簡而言之,JAR文件是一個物理文件,結構非常類似於zip文件,其中包含程序在執行時使用的文件。一個jar包 通常包括.class文件,類的可執行版本和其他資源,如圖標,圖片,語言特定的屬性文件等。 (http://java.sun.com/docs/books/tutorial/jar/index.html)

軟件包在接口上的Java教程跟蹤和 包中定義如下:「一組相關類以及提供訪問保護和名稱空間管理的接口。「 (http://java.sun.com/docs/books/tutor...va/interpack/)。雖然準確,但我並沒有發現這個定義本身確實給了你一個很好的包裝是什麼的感覺。有關更多信息,請轉至引用頁面,並在教程的該部分中閱讀 。

相關問題