亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java注解詳細介紹

2019-11-26 15:25:43
字體:
來源:轉載
供稿:網友

Java注解介紹

基于注解(Annotation-based)的Java開發無疑是最新的開發趨勢.[譯者注: 這是05年的文章,在2014年,毫無疑問,多人合作的開發,使用注解變成很好的合作方式,相互之間的影響和耦合可以很低].

基于注解的開發將Java開發人員從繁瑣笨重的配置文件中解脫出來. Java 5.0中首次引入了注解,注解是這個JDK版本的特性之一,將程序員書寫Java示例API文件的工作轉交給了編譯器. 當不再維護分開的源代碼和API文檔后,代碼和文檔會更容易維護. 生成的代碼示例也不太可能包含錯誤.

Java注解是JDK 5中的主要特性之一,使開發變得更簡單容易. 注解就像一種元信息(meta,可以理解為額外的信息,用來給特殊的程序看的),可以添加到代碼中,可以被用到包(package)的聲明,類型(type)聲明、構造函數(constructors)、方法(methods)、屬性域(fields)、參數(parameters)以及變量(variables)上. 他們提供一種有效的方式來指示方法是否依賴于其他方法,是否完整,類(class)是否引用其他類,等等.

引用 甲骨文公司的官方網站的說明 ,"它(基于注解的開發)可以讓我們在很多時候不必再去寫一份單獨的API文檔說明,只需要啟用工具來從源碼中的注解生成即可. 這形成了一種聲明式的編程風格,程序員說,需要做什么,就讓工具根據代碼來做就好了."

簡單來說,注解是一種將meta標記(meta-tag)與程序元素關聯的機制,允許編譯器(compiler)或JVM從有注解的元素提取程序行為,必要時生成相互依賴的代碼.

在本系列文章的第一部分,我將介紹一些基本的Java注解,他們的用處(benefits),以及一些示例用法(usages).

Java注解基礎知識

你需要了解兩個地方. 一是"注解"(annotation, 類似于一個 new出來的對象)本身,二是"注解的類型"(annotation type, 類似于 class定義). 注解是一個meta標記,用在你的代碼中,其實它是有生命周期和適用范圍的. annotation type是用來定義注解的. 當你想要創建自己的注解時,你就會用到它. type才是實際使用的構造類型,注解只是那個類型的一個具體用法.

定義注解類型時需要使用一個"at"(@,國內有人讀作圈a)標記,緊跟著是關鍵字 interface, 再加上注解的名字(name). 另一方面,使用注解的形式,也是先寫上"at"符號(@),其次是注解類型. 這是最簡單的注解形式. 另外,你可以在使用注解時,在名字后面加上小括號,里面附上需要傳遞的參數. 后面你會看到他們的示例:

定義注解類型示例: (Annotation Type,注解類型, 類似于定義一個類)

復制代碼 代碼如下:

public @interface MyAnnotation {
   String doSomething();
}

在普通代碼中使用注解(Annotation實例)

復制代碼 代碼如下:

@MyAnnotation (doSomething="What to do")
public void mymethod() {
   ....
}

Java注解類型(Annotation Types)

有三種類型的注解:

標記(Marker): 標記類型的注解沒有元素,只有一個名字.

定義:

復制代碼 代碼如下:

// 這種注解,就像一種標簽, 沒有狀態
// 有點像沒有方法定義的接口Serializable一樣
public @interface AMarkerAnnotation {
}

使用:

復制代碼 代碼如下:

@AMarkerAnnotation
public void mymethod() {
   ....
}

單個元素的注解: 單個元素(Single-Element)或單個值 這種類型的注解,只帶一個數據. 可以在括號內用 data=value 的方式表示,也可以只傳遞一個值(簡便的寫法).

定義:

復制代碼 代碼如下:

public @interface SingleElementAnnotation
{
    String doSomething();
}

使用:

復制代碼 代碼如下:

@SingleElementAnnotation ("可以只傳對應類型的值")
public void mymethod() {
   ....
}

Full-value或多個值的注解: Full-value類型的注解有多個數據成員. 因此,必須為每個成員使用完整的 data=value 語法格式傳遞參數.

定義:

復制代碼 代碼如下:

public @interface FullValueAnnotation {
   String doSomething();
   int count;
   String date();
}

使用:

復制代碼 代碼如下:

@FullValueAnnotation (doSomething="參數值", count=1,
               date="09-09-2005")
public void mymethod() {
   ....
}

定義Java注解類型的注意事項

在定義注解類型時需要注意:

1.注解聲明應該以一個at符號開始(@),后跟一個interface 關鍵字,以及注解的名字.
2.注解里面的方法聲明,不接受任何參數(只是看起來像是方法而已,本質是屬性域).
3.注解里面的方法聲明不能有throws 子句.
4.注解里面的方法返回類型只能是下面這幾種:
@primitives(6種原始數據類型,int,byte等)
@String(字符串)
@Class(類, 如 String.class 這種)
@enum(枚舉)
@array of the above types(數組,數組元素只能是上面的一種類型)

Java注解類型

JDK5中有兩種類型的注解:

1.Simple annotations(簡單注解類型): 這些是 Tiger(Tiger是JDK1.5的代號?)提供的基本類型,只能用來注解普通代碼;不能用來創建另一個自定義注解類型.

2.Meta annotations(元注解): 專門設計用來注解其他注解類型(annotation-type)聲明的. 簡單地說,他們被稱為注解的注解(annotations-of-annotations).

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲缚视频在线观看| 97视频在线观看播放| 欧美在线视频一二三| 韩国精品久久久999| 欧美电影免费在线观看| 久久精品国产v日韩v亚洲| 午夜精品理论片| 国产精品视频内| 亚洲最新av在线网站| 午夜精品一区二区三区视频免费看| 亚洲精品动漫久久久久| 欧美肥婆姓交大片| 久久噜噜噜精品国产亚洲综合| 亚洲老头老太hd| 日韩免费在线播放| 国产成人极品视频| 久久精品国产亚洲一区二区| 亚洲无亚洲人成网站77777| 久久国产精彩视频| 91精品国产综合久久久久久蜜臀| 亚洲国产女人aaa毛片在线| 亚洲字幕在线观看| 亚洲国产成人av在线| 色先锋久久影院av| 欧美成人网在线| 欧美裸体男粗大视频在线观看| 国产成人一区二区三区小说| 国产激情视频一区| 性金发美女69hd大尺寸| 中文一区二区视频| 亚洲天堂男人天堂女人天堂| 日韩精品视频在线观看免费| 丝袜亚洲另类欧美重口| 一区二区三区亚洲| 国产成人精品优优av| 亚洲毛片在线看| 亚洲欧美日韩综合| 91久久嫩草影院一区二区| 日韩高清av一区二区三区| 欧美国产日韩中文字幕在线| 日韩欧美极品在线观看| 国产精品亚洲片夜色在线| 日韩av片电影专区| 亚洲电影在线看| 91国产精品电影| 久久91超碰青草是什么| 成人www视频在线观看| 久久中文精品视频| 日韩中文字幕在线| 亚洲国产小视频在线观看| 成人av资源在线播放| 国产精品入口免费视| 精品在线观看国产| 91精品国产免费久久久久久| 狠狠久久亚洲欧美专区| 国产成人精品综合久久久| www.日本久久久久com.| 亚洲free嫩bbb| 日本aⅴ大伊香蕉精品视频| 欧美性色视频在线| 国产精品黄视频| 久久青草精品视频免费观看| 日韩有码在线观看| 北条麻妃在线一区二区| 亚洲欧美综合精品久久成人| 欧美国产视频日韩| 在线精品视频视频中文字幕| 国产精品av网站| 精品久久香蕉国产线看观看亚洲| 精品小视频在线| 亚洲另类图片色| 国产精品黄色av| 尤物精品国产第一福利三区| 国产美女主播一区| 亚洲第一黄色网| 在线看片第一页欧美| 91av成人在线| 中文字幕亚洲图片| 欧美性猛交xxxx富婆弯腰| 日韩电视剧免费观看网站| 日韩电影中文字幕一区| 免费91麻豆精品国产自产在线观看| 成人精品网站在线观看| 亚洲精品永久免费精品| 精品久久久久久久久久久久| 亚洲精品女av网站| 国产99在线|中文| 夜夜嗨av一区二区三区四区| 黄网站色欧美视频| 中文字幕无线精品亚洲乱码一区| 亚洲国产中文字幕久久网| 国产精品久久久久久亚洲影视| 欧美电影在线观看高清| 久久香蕉国产线看观看av| 国产精品电影一区| 国产精品福利在线| 福利微拍一区二区| 亚洲欧美日韩视频一区| 精品呦交小u女在线| 欧美精品第一页在线播放| 欧美超级免费视 在线| 国产91在线播放九色快色| 久久好看免费视频| 黑人巨大精品欧美一区免费视频| 国产成人精品日本亚洲| 欧美国产视频日韩| 欧美成人全部免费| 亚洲成人教育av| 亚洲欧美日韩国产成人| 九九热r在线视频精品| 成人福利免费观看| 日韩视频免费大全中文字幕| 91精品国产色综合久久不卡98口| 国产精品99久久久久久久久| 九九九久久久久久| www.欧美精品| 日韩精品视频免费专区在线播放| 97碰碰碰免费色视频| 91在线看www| 日韩高清不卡av| 国产美女精彩久久| 欧美色视频日本版| 亚洲精品电影在线观看| 欧美午夜女人视频在线| 欧美日韩性生活视频| 羞羞色国产精品| 成人羞羞国产免费| 亚洲精品视频久久| 91免费国产视频| 日本亚洲欧洲色α| 国产精品直播网红| 久久男人的天堂| 亚洲欧洲日本专区| 亚洲欧美精品一区| 亚洲美女精品久久| 国产午夜精品视频免费不卡69堂| 久久久久一本一区二区青青蜜月| 欧美性jizz18性欧美| 亚洲 日韩 国产第一| 97精品在线观看| 亚洲精品第一页| 国产精品自产拍在线观看中文| 91久热免费在线视频| 国产精品海角社区在线观看| 久久精品国产久精国产一老狼| 亚洲影视中文字幕| 亚洲女人天堂网| 爱福利视频一区| 国产精品美乳一区二区免费| 亚洲综合视频1区| 久久精品国产亚洲| 国产精品午夜视频| 午夜精品99久久免费| 精品成人国产在线观看男人呻吟| 亚洲精品美女久久久| 欧美国产精品va在线观看| 国产精品久久久久久久天堂| 欧美极品少妇xxxxⅹ裸体艺术| 久久综合色影院| 日韩欧美大尺度| 国产精品日韩欧美| 亚洲精品影视在线观看| 精品成人乱色一区二区| 日韩欧美精品免费在线|