熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

在Eclipse 3.1體驗J2SE 5.0新特性二(圖)

2013-11-23 20:25:28  來源: Java開源技術 

   注釋類型
  
  注釋類型簡介
  
  JSE 提供了很多新的特性其中的一個很重要的特性就是對元數據(Metadata)的支持在JSE這種元數據叫作注釋(Annotation)通過使用注釋 程序開發人員可以在不改變原有邏輯的情況下在源文件嵌入一些補充的信息
  
  代碼分析工具開發工具和部署工具可以通過這些補充信息進行驗證或者進行部署舉個例子比如說你希望某個方法的參數或者返回值不為空雖然我們可以在Java doc中說明但是表達同樣意思的說法有很多比如The return value should not be null或者null is not allowed here
  
  測試工具很難根據這些語言來分析出程序員所期望的前提條件(Precondition)和執行後的條件(Postcondition) 而使用注釋(Annotation)這個問題就可以輕而易舉的解決了
  
  定義注釋
  
  JSE支持用戶自己定義注釋定義注釋很簡單注釋是由@Interface關鍵字來聲明的比如下面是一個最簡單的注釋(Annotation)
  
  清單一個最簡單的注釋
  
  public @interface TODO{}
  
  除了定義清單中的注釋以外我們還可以在注釋(Annotation)中加入域定義方法很簡單不需定義Getter和Setter方法而只需一個簡單的方法比如
  
  清單 為注釋加入域>
  
  public @interface TODO{
  String priority();
  }
  
  定義了這個注釋之後我們在程序中引用就可以使用這個注釋了
  
  清單 使用自定義的注釋
  
  @TODO(
  priority=high
  )
  public void calculate(){
  //body omission
  }
  
  由於TODO中只定義了一個域使用TODO的時候可以簡寫為
  
  清單 單域注釋的簡寫
  
  @TODO(high)
  
  類似的你可以在你的注釋(Annotation)類型中定義多個域也可以為每個域定義缺省值比如
  
  清單定義缺省值
  
  public @interface TODO{
  String priority();
  String owner();
  boolean testable() default true;
  }
  
  如果定義了缺省值在使用的時候可以不用再賦值比如
  
  清單使用定義了缺省值的注釋
  
  @TODO(
  priority=high
  owner=Catherine
  )
  public void calculate(){
  //body omission
  }
  
  在這個例子中testable用缺省值true和上文一樣我們使用Eclipse 作為集成的編譯運行環境Eclipse 提供了向導幫助用戶來定義注釋
  
  .首先我們創建一個Plugin 項目comcatherinelabannotationdemo在Package Explorer中選中包package comcatherinelabannotationdemo
  
  點擊New>Other>Java>Annotation彈出了下面的對話框輸入注釋的名稱在這裡例子中輸入TODO 點擊Finish中的注釋就生成了
  
 educitycn/img_///jpg >

  
創建注釋向導

  
educitycn/img_///jpg>

  
注釋向導生成的代碼

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28475.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.