注解(Annotation)

(推薦教程:java入門教程)
從 JDK 5.0 開(kāi)始, Java 增加了對(duì)元數(shù)據(jù)(MetaData) 的支持, 也就是Annotation(注解)
Annotation 其實(shí)就是代碼里的特殊標(biāo)記, 這些標(biāo)記可以在編譯, 類加載, 運(yùn)行時(shí)被讀取, 并執(zhí)行相應(yīng)的處理。通過(guò)使用 Annotation, 我們可以在不改變?cè)羞壿嫷那闆r下, 在源文件中嵌入一些補(bǔ)充信息。代碼分析工具、開(kāi)發(fā)工具和部署工具可以通過(guò)這些補(bǔ)充信息進(jìn)行驗(yàn)證或者進(jìn)行部署。
Annotation 可以像修飾符一樣被使用, 可用于修飾包,類, 構(gòu)造器, 方法, 成員變量, 參數(shù), 局部變量的聲明, 這些信息被保存在 Annotation 的 “name=value” 對(duì)中。
在JavaSE中,注解的使用比較簡(jiǎn)單,例如標(biāo)記過(guò)時(shí)的功能,忽略警告等。在JavaEE/Android中注解占據(jù)了更重要的角色,例如用來(lái)配置應(yīng)用程序的任何切面,代替JavaEE舊版中所遺留的繁冗代碼和XML配置等。
未來(lái)的開(kāi)發(fā)模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,現(xiàn)在的Struts2有一部分也是基于注解的了,注解是一種趨勢(shì)。一定程度上可以說(shuō):框架 = 注解 + 反射 + 設(shè)計(jì)模式。
常見(jiàn)的注解
使用 Annotation 時(shí)要在其前面增加 @ 符號(hào), 并把該 Annotation 當(dāng)成一個(gè)修飾符使用。用于修飾它支持的程序元素。
生成文檔相關(guān)的注解
@author 標(biāo)明開(kāi)發(fā)該類模塊的作者,多個(gè)作者之間使用,分割
@version 標(biāo)明該類模塊的版本
@see 參考轉(zhuǎn)向,也就是相關(guān)主題
@since 從哪個(gè)版本開(kāi)始增加的
@param 對(duì)方法中某參數(shù)的說(shuō)明,如果沒(méi)有參數(shù)就不能寫
@return 對(duì)方法返回值的說(shuō)明,如果方法的返回值類型是void就不能寫
@exception 對(duì)方法可能拋出的異常進(jìn)行說(shuō)明 ,如果方法沒(méi)有用throws顯式拋出的異常就不能寫
(視頻教程:java視頻教程)
注意:
@param @return 和 @exception 這三個(gè)標(biāo)記都是只用于方法的。
@param的格式要求:@param 形參名 形參類型 形參說(shuō)明
@return 的格式要求:@return 返回值類型 返回值說(shuō)明
@exception的格式要求:@exception 異常類型 異常說(shuō)明
@param和@exception可以并列多個(gè)
代碼示例:
/**
* @author wushanghui
* @date 2020/7/16 17:51
* @see Math
* @version 1.0
*
*/
public class JavadocAnnotation {
/**
* 程序的主方法,程序的入口
*
* @param args String[] 命令行參數(shù)
*/
public static void main(String[] args) {
System.out.println(getArea(1.0d)); // 3.141592653589793
}
/**
* 求圓面積的方法
* @since 1.0
* @param radius double 半徑值
* @return double 圓的面積
*/
public static double getArea(double radius) {
return Math.PI * radius * radius;
}
}
當(dāng)前文章:常見(jiàn)的Java注解有哪些
瀏覽路徑:http://www.chinadenli.net/article28/cggocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、企業(yè)建站、網(wǎng)站導(dǎo)航、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)