Java對類的封裝

1.  JAR  文件包 
   
  JAR  文件就是  Java  Archive  File,顧名思意,它的應用是與  Java  息息相關的,是  Java  的一種文檔格式。JAR  文件非常類似  ZIP  文件——準確的說,它就是  ZIP  文件,所以叫它文件包。JAR  文件與  ZIP  文件唯一的區別就是在  JAR  文件的內容中,包含了一個  META-INF/MANIFEST.MF  文件,這個文件是在生成  JAR  文件的時候自動創建的。舉個例子,如果我們具有如下目錄結構的一些文件: 
   
    == 
   
    `--  test 
   
       `--  Test.class 
   
  把它壓縮成  ZIP  文件  test.zip,則這個  ZIP  文件的內部目錄結構爲: 
   
    test.zip 
   
    `--  test 
   
       `--  Test.class 
   
  如果我們使用  JDK  的  jar  命令把它打成  JAR  文件包  test.jar,則這個  JAR  文件的內部目錄結構爲: 
   
    test.jar 
   
    |--  META-INF 
   
    |   `--  MANIFEST.MF 
   
    `--  test 
   
      `--Test.class 
   
  2.  創建可執行的  JAR  文件包 
   
  製作一個可執行的  JAR  文件包來發布你的程序是  JAR  文件包最典型的用法。 
   
  Java  程序是由若干個  .class  文件組成的。這些  .class  文件必須根據它們所屬的包不同而分級分目錄存放;運行前需要把所有用到的包的根目錄指定給  CLASSPATH  環境變量或者  java  命令的  -cp  參數;運行時還要到控制檯下去使用  java  命令來運行,如果需要直接雙擊運行必須寫  Windows  的批處理文件  (.bat)  或者  Linux  的  Shell  程序。因此,許多人說,Java  是一種方便開發者苦了用戶的程序設計語言。 
   
  其實不然,如果開發者能夠製作一個可執行的  JAR  文件包交給用戶,那麼用戶使用起來就方便了。在  Windows  下安裝  JRE  (Java  Runtime  Environment)  的時候,安裝文件會將  .jar  文件映射給  javaw.exe  打開。那麼,對於一個可執行的  JAR  文件包,用戶只需要雙擊它就可以運行程序了,和閱讀  .chm  文檔一樣方便  (.chm  文檔默認是由  hh.exe  打開的)。那麼,現在的關鍵,就是如何來創建這個可執行的  JAR  文件包。 
   
  創建可執行的  JAR  文件包,需要使用帶  cvfm  參數的  jar  命令,同樣以上述  test  目錄爲例,命令如下: 
   
  jar  cvfm  test.jar  manifest.mf  test 
   
  這裏  test.jar  和  manifest.mf  兩個文件,分別是對應的參數  f  和  m,其重頭戲在  manifest.mf。因爲要創建可執行的  JAR  文件包,光靠指定一個  manifest.mf  文件是不夠的,因爲  MANIFEST  是  JAR  文件包的特徵,可執行的  JAR  文件包和不可執行的  JAR  文件包都包含  MANIFEST。關鍵在於可執行  JAR  文件包的  MANIFEST,其內容包含了  Main-Class  一項。這在  MANIFEST  中書寫格式如下: 
   
  Main-Class:  可執行主類全名(包含包名) 
   
  例如,假設上中例的  Test.class  是屬於  test  包的,而且是可執行的類  (定義了  public  static  void  main(String[])  方法),那麼這個  manifest.mf  可以編輯如下: 
   
  Main-Class:  test.Test  <回車> 
   
  這個  manifest.mf  可以放在任何位置,也可以是其它的文件名,只需要有  Main-Class:  test.Test  一行,且該行以一個回車符結束即可。創建了  manifest.mf  文件之後,我們的目錄結構變爲: 
   
    == 
   
    |--  test 
   
    |   `--  Test.class 
   
    `--  manifest.mf 
   
  這時候,需要到  test  目錄的上級目錄中去使用  jar  命令來創建  JAR  文件包。也就是在目錄樹中使用“==”表示的那個目錄中,使用如下命令: 
   
  jar  cvfm  test.jar  manifest.mf  test 
   
  之後在“==”目錄中創建了  test.jar,這個  test.jar  就是執行的  JAR  文件包。運行時只需要使用  java  -jar  test.jar  命令即可。 
   
  需要注意的是,創建的  JAR  文件包中需要包含完整的、與  Java  程序的包結構對應的目錄結構,就像上例一樣。而  Main-Class  指定的類,也必須是完整的、包含包路徑的類名,如上例的  test.Test;而且在沒有打成  JAR  文件包之前可以使用  java  <類名>  來運行這個類,即在上例中  java  test.Test  是可以正確運行的  (當然要在  CLASSPATH  正確的情況下)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章