程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java注解具體引見

Java注解具體引見

編輯:關於JAVA

Java注解具體引見。本站提示廣大學習愛好者:(Java注解具體引見)文章只能為提供參考,不一定能成為您想要的結果。以下是Java注解具體引見正文


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).

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved