什麼是包
Java中的包(Package)其實指的就是目錄,它是為了更好地管理Java類(Class)和接口(Interface)。Java語言的包可以被另一個Java開發包所使用。如果我們要引用某個包中的類,用import關鍵字來標明即可。比如:
importJava.util.
date=newDate
提示:importjava.util.??表示Java.util中的所有公有類和接口被引入到當前包。這裡的?匹配符可以調入多個類名。
常用的Java標准包
JDK為我們提供了很多標准的Java類和接口,這些包是寫Java程序所必需的,知道了每種包所包含的類和接口,並且熟悉這些類和接口是每個Java編程人員都應該掌握的基本技能。
Java中常用的包有:Java.applet、java.awt、java.i、java.lang、java.net和java.util等等。其中java.applet包含了一些設計小應用程序(Applet)的類和接口;java.awt是一個窗口工具箱包(awt?AbstractWindowToolkit),裡面是一些GUI界面相關的類;java.io包支持輸入輸出,比如文件輸入流類:FileInputStream等;java.lang包含線程、異常、系統、整數等相關的類,是Java程序中默認加載的一個包;Java.Net這個類支持TCP/IP網絡協議,並包含Socket類及URL相關的類,是網絡編程中要使用的;Java.util包含一些程序的公用類,如Date?Dictionary等等。
除了上面提到的一些標准包之外,還有很多其它的包,比如數據庫編程時我們可能需要使用java.sql包,寫網絡程序還會用到java.rmi包(RMI?RemoteMethodInvocation)等。另外,Javax.?包是一些標准包的擴展,常用的包有:javax.swing、Javax.sound。
自己動手創建包
Java中的包是可以自己創建的。我們可以將很多功能相近的類和接口放在同一個包中,以方便管理和使用。
創建包的基本方法
1.定義Public類;
2.首句加“Package包名”;
3.將Java文件生成的Class放在以包名為目錄名的目錄中?
4.在其它程序中用“import包名”就可以存取此包中的所有Public類。
包的創建和使用
//filename?B.Java
packagecom.chen.test?//定義一個包
publicclassB?//定義一個類
publicvoidadd?inti?intj??//兩個數求和,並輸出
System.out.println?i+j??
上面的代碼便是為了創建一個簡單的包:com.chen.test,我們將這個文件命名為B.java。現在運行javac-dC?B.Java編譯該包(該命令在C盤下生成comchentest目錄,並將編譯結果保存在B.class中)。現在我們進入C?comchentest目錄可以看到編譯生成的Class文件也包含在內了。
OK,現在這個包已經創建好了,這時需要你做的是把C?comchentest設置在你的環境變量classpath裡。
如何調用包
現在我們再用一個小程序來調用上面創建的包:
//filename?A.Java
importcom.chen.test.??//引入剛才創建的包
publicclassA?
publicstaticvoidmain?String??args??
Btest=newB???
test.add?6?8??//用add??調用自定義包
將上面的Java代碼保存為C?A.java?然後編譯:javacC?A.Java。
提示:對於包文件B.java,你可以不編譯?而只將它放到C?comchentest目錄下即可。要注意的是,A.java和B.Java兩個文件不可以放在相同目錄下,這樣就會出錯。
Java文檔及Javadoc
除了包之外,Java文檔也是Java編程中非常重要的一個概念。Java文檔就是Java程序的幫助文檔。一般情況下,我們先寫好幫助文檔,再利用工具Javadoc來生成相應的文檔。Javadoc是JDK提供的一個文檔生成工具,它利用Java編譯程序Javac對程序代碼源文件中的聲明和文檔注釋進行語法分析,並在默認情況下生成一組HTML文檔來描述類、內部類、接口、構造函數、方法和域。Javadoc注釋以“/??”開始,以“?/”結束,裡面可以包含普通文本、Html標記和Javadoc標記。Javadoc只處理源文件中在類/接口定義、方法、域、構造器之前的注釋,忽略其它地方的注釋。
掌握Javadoc
現在我們先用一個例程來說明Javadoc標記的意義:
我的JavaDoc測試程序--JavaDocTest
@authorwarton2003西安
test
@version0.12004/01/01
/
publicclassJavaDocTest
/
在main??中要使用字符串
@see#main?Java.lang.String???
/
staticStringSDisplay?
/
顯示Javadoc測試
@paramargs命令行參數
@return沒有返回值
/
publicstaticvoidmain?Stringargs???
SDisplay=″Javadoc測試″
System.out.println?SDisplay
在這個Java程序裡面,使用了大量的Javadoc標記、文本以及Html標記。Javadoc標記以“/??”開始,表明這些都是Java代碼的注釋。“@”開頭的標記就是Javadoc標記。
Javadoc標記有兩種:獨立(Standalone)標記和內聯(Inline)標記。獨立標記也就是那些常見的標記,如@param、@return和@author等;另一種類型的標記是內聯標記?這種標記采用?@tag?的形式?它允許開發者創建超級鏈接從注釋部分鏈接到其它的Javadoc頁面或者本頁面的其它地方。
提示:在Java源程序裡正確使用Javadoc標記是非常必要的注釋習慣,將有助於Javadoc自動以源代碼文件生成完整的格式化API文檔。
OK,那麼我們先看看Javadoc是如何生成漂亮的文檔!將上面的代碼保存到JavaDocTest.Java並編譯。
運行:Javadoc-private-ddoc-auth
or-versionJavaDocTest.Java
這時,Javadoc程序會根據JavaDocTest.java生成一個doc目錄,裡面有很多Html文件,這些就是Javadoc生成的API幫助文檔。
Javadoc命令行語法
光會使用標記還不能很好利用Javadoc提供的功能,必須能使用它的命令行才行。最後向大家介紹一下簡單的Javadoc命令。
Javadoc的命令行語法如下:
Javadocoptionspackagenamessourcefiles@files
提示:對於一般的應用,我們只須使用javadocyourjavafile.java這樣的命令行生成幫助文檔就行了。如果你需要定制幫助文檔,才會用到參數,一般情況下你可以使用javadochelp命令來查看Javadoc的幫助文檔。
總之,Javadoc提供了完整規范的API文檔功能。在軟件項目管理和開發中,合理地使用Javadoc不僅可以減少開發時的文檔工作量,提高效率,而且還非常有利於將來軟件的修改和維護。
Javadoc標記的一些詳細說明:
@author指定生成文檔中的“作者”項,可以指定多個author。在左面的代碼中,author後面還加了一個HTML標記,用來鏈接URL。都是HTML標記,則是Html注釋。
@version指定版本信息。
@see標記是比較復雜的。@see″string″為“string”添加文本項,不產生任何鏈接。@seeLabel使用Html標記產生鏈接。@seepackage.class#memberLabel。
@param標記用來描述參數。
@return標記用來描述返回值。
@link為內聯標記,內聯標記的通常格式是:[email protected]#memberlabel?
提示:Label是位於注釋中間的文本,package.class#member指向一個具體的類或者方法。以下是一些例子:
鏈接到同一類的屬性,使用:@link#KEY
鏈接到同一類的方法,使用:?@link#getComponentAt?int?getComponentAt
鏈接到其它類,使用@linkJava.util.MapMap