1. java 中的幾種注釋方式
我看動力節點的java基礎大全301集教中的三種注釋方法:
1、單行注釋 //注釋的內容
2、多行注釋/*......*/
3、/**......*/,這種方式和第二種方式相似。這種格式是為了便於javadoc程序自動生成文檔。
下面介紹一下Javadoc的標記:
特別聲明:
(1)javadoc針對public類生成注釋文檔
(2)javadoc只能在public、protected修飾的方法或者屬性之上
(3)javadoc注釋的格式化:前導*號和HTML標簽
(4)javadoc注釋要僅靠在類、屬性、方法之前
下面主要舉例說明第三種注釋的應用:
(1)首先編寫.java文件
(2)在命令行中執行以下dos命令:
javadoc *.java //根據相應的Java源代碼及其說明語句生成HTML文檔
//javadoc標記:是@開頭的,對javadoc而言,特殊的標記。
(3)在當前目錄下就會產生doc文件夾,裡面有一系列的.html文件
附上代碼:
[java]view plain
<spanstyle="font-size:18px;">*/
/**javadoc注釋的內容
*/
publicclassHello{
/**屬性上的注釋*/
publicStringname;
/**這是main方法,是程序的入口
*@paramargs用戶輸入參數
*/
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld!");
f1();
}
/**這是第1個方法,其作用是...*/
publicstaticvoidf1(){
System.out.println("f1()!");
}
}</span>
[java]view plain
<spanstyle="font-size:18px;">importjava.io.IOException;
/**javadoc注釋內容
*@since1.0
*@version1.1
*@authorBlueJey
*<br>鏈接到另一個文檔{@linkHello},就這些
*seeHello
*/
publicclassHelloWorld{
/**非public,protected屬性上的注釋不生成*/
publicStringname;
/**這是main方法,是程序的入口
*@paramargs用戶輸入的參數,是數組
*@throwsIOExceptionmain方法io異常
*/
publicstaticvoidmain(Stringargs[])throwsIOException{
System.out.println("helloWorld!");
f1();
f2(1);
}
/**這是第一個方法,其作用是....
*@deprecated從版本1.2開始,不再建議使用此方法
*/
publicstaticvoidf1(){
System.out.println("fl()!");
}
/**這是第二個方法,其作用是....
*@return返回是否OK
*@parami輸入參數i
*@seeHello
*@throwsIOExceptionio異常
*/
publicstaticStringf2(inti)throwsIOException{
System.out.println("f1()!");
return"OK";
}
}</span>
注意:
如果源文件中有用到@version,@author標記,則在執行javadoc命令時,要加-version-author
javadoc-version-author-ddoc*.java
(其中用-version用於提取源文件中的版本信息-author用於提取源文件中的作者信息)
2. Java中文檔注釋各欄位的含義是什麼例如author表示作者,para表示參數等
常用Java注釋標簽(Java comment
tags)
@author 作者
適用范圍:文件、類、方法
(*多個作者使用多個@author標簽標識,java
doc中顯示按輸入時間順序羅列。)
例:*
@author Leo. Yao
@param 輸入參數的名稱 說明
適用范圍:方法
例:* @param str
the String用來存放輸出信息。
@return 輸出參數說明
適用范圍:方法
例: *
@return <code>true</code>執行成功;
* <code>false</code>執行失敗.
@since
JDK版本
用於標識編譯該文件所需要的JDK環境。
適用范圍:文件、類
例: * @since
JDK1.6
@version 版本號
用於標識注釋對象的版本號
適用范圍:文件、類、方法
例: * @version 1.0
@see 鏈接目標
表示參考。會在java 文檔中生成一個超鏈接,鏈接到參考的類容。使用中的感覺是@see不需要包路徑,對我這種懶人比較喜歡,相對{@link
}這種既要加大括弧,有需要包路徑,我還是選擇偷懶,當然你要是不介意使用import導入要link的類,那就可以達到@see的效果,所以總體來說,還是選擇@see,當然兩個在特殊場合下還是用法不一樣的
用法:
@see
#field
@see #Constructor(Type,
Type...)
@see #Constructor(Type id, Type
id...)
@see #method(Type,
Type,...)
@see #method(Type id, Type,
id...)
@see
Class
@see
Class#field
@see Class#Constructor(Type,
Type...)
@see Class#Constructor(Type id,
Type id)
@see Class#method(Type,
Type,...)
@see Class#method(Type id, Type
id,...)
@see
package.Class
@see
package.Class#field
@see
package.Class#Constructor(Type, Type...)
@see
package.Class#Constructor(Type id, Type id)
@see package.Class#method(Type,
Type,...)
@see package.Class#method(Type
id, Type, id)
@see
package
@throws 異常
標識出方法可能拋出的異常
適用范圍:方法
例: * @throws IOException If an input or output
exception occurred
@deprecated 解釋
標識對象過期
適用范圍:文件、類、方法
@link 鏈接地址
鏈接到一個目標,用法類似@see。但常放在注釋的解釋中形如{@link …}
例:
/**
* @deprecated As of JDK 1.1,
replaced by
* {@link
#setBounds(int,int,int,int)}
*/
3. java中如何自動生成注釋
你說的應該是生成javadoc吧?
最簡單方式就是使用命令行, cd到你的項目源代碼目錄下, 輸入如下指令:
javadoc-ddocs-subpackagescom.yourpackage
其中-d docs指定了生成的javadoc在相對目錄docs下, -subpackages com.yourpackage指定了你要被生成javadoc的源代碼包.
JAVADOC是官方提供的一種生成注釋文檔的工具, 他的用法如下:
用法:javadoc[options][packagenames][sourcefiles][@files]
-overview<file>從HTML文件讀取概覽文檔
-public僅顯示public類和成員
-protected顯示protected/public類和成員(默認值)
-package顯示package/protected/public類和成員
-private顯示所有類和成員
-help顯示命令行選項並退出
-doclet<class>通過替代doclet生成輸出
-docletpath<path>指定查找doclet類文件的位置
-sourcepath<pathlist>指定查找源文件的位置
-classpath<pathlist>指定查找用戶類文件的位置
-cp<pathlist>指定查找用戶類文件的位置
-exclude<pkglist>指定要排除的程序包列表
-subpackages<subpkglist>指定要遞歸載入的子程序包
-breakiterator計算帶有BreakIterator的第一個語句
-bootclasspath<pathlist>覆蓋由引導類載入器所載入的
類文件的位置
-source<release>提供與指定發行版的源兼容性
-extdirs<dirlist>覆蓋所安裝擴展的位置
-verbose輸出有關Javadoc正在執行的操作的信息
-locale<name>要使用的區域設置,例如en_US或en_US_WIN
-encoding<name>源文件編碼名稱
-quiet不顯示狀態消息
-J<flag>直接將<flag>傳遞到運行時系統
-X輸出非標准選項的提要
通過標准doclet提供:
-d<directory>輸出文件的目標目錄
-use創建類和程序包用法頁面
-version包含@version段
-author包含@author段
-docfilessubdirs遞歸復制文檔文件子目錄
-splitindex將索引分為每個字母對應一個文件
-windowtitle<text>文檔的瀏覽器窗口標題
-doctitle<html-code>包含概覽頁面的標題
-header<html-code>包含每個頁面的頁眉文本
-footer<html-code>包含每個頁面的頁腳文本
-top<html-code>包含每個頁面的頂部文本
-bottom<html-code>包含每個頁面的底部文本
-link<url>創建指向位於<url>的javadoc輸出的鏈接
-linkoffline<url><url2>利用位於<url2>的程序包列表鏈接至位於<url>的文檔
-excludedocfilessubdir<name1>:..排除具有給定名稱的所有文檔文件子目錄。
-group<name><p1>:<p2>..在概覽頁面中,將指定的程序包分組
-nocomment不生成說明和標記,只生成聲明。
-nodeprecated不包含@deprecated信息
-noqualifier<name1>:<name2>:...輸出中不包括指定限定符的列表。
-nosince不包含@since信息
-notimestamp不包含隱藏時間戳
-nodeprecatedlist不生成已過時的列表
-notree不生成類分層結構
-noindex不生成索引
-nohelp不生成幫助鏈接
-nonavbar不生成導航欄
-serialwarn生成有關@serial標記的警告
-tag<name>:<locations>:<header>指定單個參數定製標記
-taglet要注冊的Taglet的全限定名稱
-tagletpathTaglet的路徑
-charset<charset>用於跨平台查看生成的文檔的字元集。
-helpfile<file>包含幫助鏈接所鏈接到的文件
-linksource以HTML格式生成源文件
-sourcetab<tablength>指定源中每個製表符占據的空格數
-keywords使程序包,類和成員信息附帶HTML元標記
-stylesheetfile<path>用於更改生成文檔的樣式的文件
-docencoding<name>指定輸出的字元編碼
4. 如何寫好java代碼注釋
寫代碼的時候,有時候,你需要寫一些注釋,把內容相互關聯起來,方便自己或別人看的時候,可以直接找到你關聯的代碼類或者啥的。
這個時候,{@link}與@see,這2個javadoc註解就派上用場了,
不管他具體有什麼功能,咱就只管一個,他可以鏈接代碼,讓注釋看的更清楚易懂。方便你我他。
@see 標簽允許用戶引用其他類的文檔。具體使用方式如下:
@see classname
@see fully-qualified-classname
@see fully-qualified-classname#方法名稱
@see fully-qualified-classname#屬性名稱
我在使用的時候,發現這個只能單獨一行頂頭寫,如果不頂頭寫就不管用了,沒了鏈接的效果。
但是,{@link}這個卻可以隨便放。
具體使用方法和上面那個@see是一樣的。
實際效果,看下面的圖