Java中的包其實(shí)指的就是目錄,它是為了更好地管理Java類和接口
什么是包
Java中的包(Package)其實(shí)指的就是目錄,它是為了更好地管理Java類(Class)和接口(Interface)。Java語言的包可以被另一個(gè)Java開發(fā)包所使用。如果我們要引用某個(gè)包中的類,用import關(guān)鍵字來標(biāo)明即可。比如:
import java.util. date=new Date |
提示:import java.util.表示java.util中的所有公有類和接口被引入到當(dāng)前包。這里的匹配符可以調(diào)入多個(gè)類名。
常用的Java標(biāo)準(zhǔn)包
JDK為我們提供了很多標(biāo)準(zhǔn)的Java類和接口,這些包是寫Java程序所必需的,知道了每種包所包含的類和接口,并且熟悉這些類和接口是每個(gè)Java編程人員都應(yīng)該掌握的基本技能。
Java中常用的包有:Java.applet、java.awt、java.i、java.lang、java.net和java.util等等。其中java.applet包含了一些設(shè)計(jì)小應(yīng)用程序(Applet)的類和接口;java.awt是一個(gè)窗口工具箱包(awt Abstract Window Toolkit),里面是一些GUI界面相關(guān)的類;java.io包支持輸入輸出,比如文件輸入流類:FileInputStream等;java.lang包含線程、異常、系統(tǒng)、整數(shù)等相關(guān)的類,是Java程序中默認(rèn)加載的一個(gè)包;java.net這個(gè)類支持TCP/IP網(wǎng)絡(luò)協(xié)議,并包含Socket類及URL相關(guān)的類,是網(wǎng)絡(luò)編程中要使用的;java.util包含一些程序的公用類,如DateDictionary等等。
除了上面提到的一些標(biāo)準(zhǔn)包之外,還有很多其它的包,比如數(shù)據(jù)庫編程時(shí)我們可能需要使用java.sql包,寫網(wǎng)絡(luò)程序還會用到j(luò)ava.rmi包(RMI Remote Method Invocation)等。另外,Javax.包是一些標(biāo)準(zhǔn)包的擴(kuò)展,常用的包有:javax.swing、javax.sound。
自己動(dòng)手創(chuàng)建包
Java中的包是可以自己創(chuàng)建的。我們可以將很多功能相近的類和接口放在同一個(gè)包中,以方便管理和使用。
創(chuàng)建包的基本方法
1.定義Public類;
2.首句加“Package 包名”;
3.將Java文件生成的Class放在以包名為目錄名的目錄中
4.在其它程序中用“import 包名”就可以存取此包中的所有Public類。
包的創(chuàng)建和使用
//filename B.java package com.chen.test //定義一個(gè)包 public class B //定義一個(gè)類 public void addint iint j //兩個(gè)數(shù)求和,并輸出 System.out.printlni+j |
上面的代碼便是為了創(chuàng)建一個(gè)簡單的包:com.chen.test,我們將這個(gè)文件命名為B.java。現(xiàn)在運(yùn)行javac -d C\ B.java編譯該包(該命令在C盤下生成com\chen\test目錄,并將編譯結(jié)果保存在B.class中)。現(xiàn)在我們進(jìn)入C\com\chen\test目錄可以看到編譯生成的Class文件也包含在內(nèi)了。
OK,現(xiàn)在這個(gè)包已經(jīng)創(chuàng)建好了,這時(shí)需要你做的是把C\com\chen\test設(shè)置在你的環(huán)境變量classpath里。
如何調(diào)用包
現(xiàn)在我們再用一個(gè)小程序來調(diào)用上面創(chuàng)建的包:
//filename A.java import com.chen.test.//引入剛才創(chuàng)建的包 public class A public static void mainString args B test = new B test.add68 //用add調(diào)用自定義包 |
將上面的Java代碼保存為C\A.java然后編譯:javac C\A.java。
提示:對于包文件B.java,你可以不編譯而只將它放到C\com\chen\test目錄下即可。要注意的是,A.java和B.java兩個(gè)文件不可以放在相同目錄下,這樣就會出錯(cuò)。
Java文檔及Javadoc
除了包之外,Java文檔也是Java編程中非常重要的一個(gè)概念。Java文檔就是Java程序的幫助文檔。一般情況下,我們先寫好幫助文檔,再利用工具Javadoc來生成相應(yīng)的文檔。Javadoc是JDK提供的一個(gè)文檔生成工具,它利用Java編譯程序Javac對程序代碼源文件中的聲明和文檔注釋進(jìn)行語法分析,并在默認(rèn)情況下生成一組HTML文檔來描述類、內(nèi)部類、接口、構(gòu)造函數(shù)、方法和域。Javadoc注釋以“/”開始,以“/”結(jié)束,里面可以包含普通文本、HTML標(biāo)記和Javadoc標(biāo)記。Javadoc只處理源文件中在類/接口定義、方法、域、構(gòu)造器之前的注釋,忽略其它地方的注釋。
掌握J(rèn)avadoc
現(xiàn)在我們先用一個(gè)例程來說明Javadoc標(biāo)記的意義:
/ 我的JavaDoc測試程序--<b>JavaDocTest</b> @author <a href=http//www.csdn.net>warton2003 西安</a> <br><font color=red>test</font><--這里可以嵌入HTML本句為HTML注釋--> @version 0.1 2004/01/01 / public class JavaDocTest / 在main 中要使用字符串 @see #mainjava.lang.String / static String SDisplay / 顯示Javadoc測試 @param args 命令行參數(shù) @return 沒有返回值 / public static void mainString args SDisplay = ″Javadoc測試″ System.out.println SDisplay |
在這個(gè)Java程序里面,使用了大量的Javadoc標(biāo)記、文本以及HTML標(biāo)記。Javadoc標(biāo)記以“/”開始,表明這些都是Java代碼的注釋。“@”開頭的標(biāo)記就是Javadoc標(biāo)記。
Javadoc標(biāo)記有兩種:獨(dú)立(Standalone)標(biāo)記和內(nèi)聯(lián)(Inline)標(biāo)記。獨(dú)立標(biāo)記也就是那些常見的標(biāo)記,如@param、@return和@author等;另一種類型的標(biāo)記是內(nèi)聯(lián)標(biāo)記這種標(biāo)記采用@tag的形式 它允許開發(fā)者創(chuàng)建超級鏈接從注釋部分鏈接到其它的Javadoc頁面或者本頁面的其它地方。
提示:在Java源程序里正確使用Javadoc標(biāo)記是非常必要的注釋習(xí)慣,將有助于Javadoc自動(dòng)以源代碼文件生成完整的格式化API文檔。
OK,那么我們先看看Javadoc是如何生成漂亮的文檔!將上面的代碼保存到JavaDocTest.java并編譯。
運(yùn)行:javadoc -private -d doc -auth
or -version JavaDocTest.java
這時(shí),Javadoc程序會根據(jù)JavaDocTest.java生成一個(gè)doc目錄,里面有很多HTML文件,這些就是Javadoc生成的API幫助文檔。
Javadoc命令行語法
光會使用標(biāo)記還不能很好利用Javadoc提供的功能,必須能使用它的命令行才行。最后向大家介紹一下簡單的Javadoc命令。
Javadoc的命令行語法如下:
javadoc options packagenames sourcefiles @files |
提示:對于一般的應(yīng)用,我們只須使用javadoc yourjavafile.java這樣的命令行生成幫助文檔就行了。如果你需要定制幫助文檔,才會用到參數(shù),一般情況下你可以使用javadoc help命令來查看Javadoc的幫助文檔。
總之,Javadoc提供了完整規(guī)范的API文檔功能。在軟件項(xiàng)目管理和開發(fā)中,合理地使用Javadoc不僅可以減少開發(fā)時(shí)的文檔工作量,提高效率,而且還非常有利于將來軟件的修改和維護(hù)。
Javadoc標(biāo)記的一些詳細(xì)說明:
@author指定生成文檔中的“作者”項(xiàng),可以指定多個(gè)author。在左面的代碼中,author后面還加了一個(gè)HTML標(biāo)記<a>,用來鏈接URL。<br><font>都是HTML標(biāo)記,<-- -->則是HTML注釋。
@version 指定版本信息。
@see標(biāo)記是比較復(fù)雜的。@see ″string″ 為“string”添加文本項(xiàng),不產(chǎn)生任何鏈接。@see <a href=″URL#Value″>Label</a> 使用HTML標(biāo)記產(chǎn)生鏈接。@see package.class#member Label。
@param標(biāo)記用來描述參數(shù)。
@return標(biāo)記用來描述返回值。
@link為內(nèi)聯(lián)標(biāo)記,內(nèi)聯(lián)標(biāo)記的通常格式是:@linkpackage.class#member label
提示:Label是位于注釋中間的文本,package.class#member指向一個(gè)具體的類或者方法。以下是一些例子:
鏈接到同一類的屬性,使用:@link#KEY
鏈接到同一類的方法,使用:@link#getComponentAtintgetComponentAt
鏈接到其它類,使用@linkjava.util.Map Map
posted on 2007-08-30 10:15
fly 閱讀(147)
評論(0) 編輯 收藏 所屬分類:
java學(xué)習(xí)