程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> 在Eclipse 3.1中體驗J2SE 5.0的新特性 第二部分 :注釋類型(1)

在Eclipse 3.1中體驗J2SE 5.0的新特性 第二部分 :注釋類型(1)

編輯:J2SE

J2SE 5.0 (Tiger)的發布是Java語言發展史上的一個重要的裡程碑, 是迄今為止在 Java 編程方面所取得的最大進步。
 
J2SE 5.0提供了很多令人激動的特性。這些特性包括范型(generics)的支持, 枚舉類 型(enumeration)的支持, 元數據(metadata)的支持, 自動拆箱(unboxing)/裝箱 (autoboxing), 可變個數參數(varargs), 靜態導入(static imports), 以及新的線程架 構(Thread framework)。
 
隨著J2SE 5.0的推出, 越來越多的集成開發環境(IDE)支持J2SE 5.0的開發。著名的開 源Java IDE Eclipse從3.1M4開始支持J2SE 5.0的開發, 目前最新的版本是3.1RC4。
 
本系列將介紹J2SE 5.0中三個比較重要的特性: 枚舉類型, 注釋類型, 范型, 並在此 基礎上介紹在如何在Eclipse 3.1開發環境中開發枚舉類型, 注釋類型和范型應用。本文 將介紹注釋類型。
 
2. 注釋類型
 
2.1注釋類型簡介
 
J2SE 5.0提供了很多新的特性。其中的一個很重要的特性,就是對元數據(Metadata) 的支持。在J2SE5.0中,這種元數據叫作注釋(Annotation)。通過使用注釋, 程序開發人 員可以在不改變原有邏輯的情況下,在源文件嵌入一些補充的信息。代碼分析工具,開發 工具和部署工具可以通過這些補充信息進行驗證或者進行部署。舉個例子,比如說你希望 某個方法的參數或者返回值不為空,雖然我們可以在Java doc中說明,但是表達同樣意思 的說法有很多,比如"The return value should not be null"或者"null is not allowed here"。測試工具很難根據這些語言來分析出程序員所期望的前提條件(Pre- condition)和執行後的條件(Post-condition)。而使用注釋(Annotation),這個問題就可 以輕而易舉的解決了。
 
2.2定義注釋
 
J2SE5.0支持用戶自己定義注釋。定義注釋很簡單,注釋是由@Interface關鍵字來聲明 的。比如下面是一個最簡單的注釋(Annotation)。
 
清單1一個最簡單的注釋
 
public @interface TODO{}
 
除了定義清單1中的注釋以外,我們還可以在注釋(Annotation)中加入域定義。方法 很簡單,不需定義Getter和Setter方法,而只需一個簡單的方法,比如:
 
清單2 為注釋加入域
 
public @interface TODO{
    String priority();
 }
 
定義了這個注釋之後,我們在程序中引用就可以使用這個注釋了。
 
清單3 使用自定義的注釋
 
@TODO(
    priority="high"
 )
 public void calculate(){
    //body omission
 }
 
由於TODO中只定義了一個域,使用TODO的時候,可以簡寫為
 
清單4 單域注釋的簡寫
 
@TODO("high")
 
類似的,你可以在你的注釋(Annotation)類型中定義多個域,也可以為每個域定義 缺省值。比如:
 
清單5定義缺省值
 
public @interface TODO{
    String priority();
    String owner();
    boolean testable() default true;
 }

本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201104/25424.htm

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