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

首頁 > 編程 > JSP > 正文

J2SE1.5 注釋語法

2024-09-05 00:21:29
字體:
來源:轉載
供稿:網友

說起注解語法,對于任何一個Java開發人員來說都已經耳熟能詳了,我們每天都在使用著 @author, @param,等等編寫注釋,然后用javadoc生成文檔。Java的這種方便的文檔生成方法受到了開發者的普遍贊譽。而從JDK1.5開始,注釋語法提供了更為強大的功能。

  我們先談談注釋語法本身,它有時候也稱為meta-data :“描述數據的數據” 。一般來說它們可以被用來生成文檔,檢查代碼間依賴關系,幫助編譯器作語法檢查。時下比較流行的工具有Xdoclet等。對于文檔生成早已經有了javadoc工具的完美表現,而對于代碼檢查,如今java也提供了語言級的支持。

  我們知道,javadoc是通過提取java源文件中的標簽信息來生成文檔。所以要學習新的注釋語法,們首先要熟悉的就是新增的標簽。新的注釋語法支持兩種標簽,系統標準標簽和用戶自定義標簽。標簽的符號也原先一樣,@符號加上標簽名字。我們先從JDK1.5自帶的標準標簽說起。

  首先介紹@override , 也不用多羅嗦,顧名思義了,就是用來說明方法覆載的。我們假設有一個子類必須要覆載父類的方法.

  ================================================================================
  public class Parent{

  public void foo(){
  System.out.println("Original Implementation of foo");
  }

  }

  public class Child extends Parent{

  @Override
  public void foo(){
  System.out.println("Overide Implementation of foo");
  }

  }
  ================================================================================

  目前為止我們看不出來這個@Override給我們帶來了任何好處,所以我們先說說加個這個標簽后,我們用javac編譯的時候編譯器執行了些什么呢?編譯器會檢查這個方法,然后從父類查找是否有這個方法,否則就編譯出錯。這個特性可以幫助我們避免一些低級錯誤。上面這個例子,子類想覆載foo()方法,不過你可能一時疏忽把它寫成了fob(), 對于這樣的”低級錯誤”,如果你沒有在前期就發現的話,到系統集成測試的時候,可能會化上你幾個小時甚至一兩天去找出這樣的bug?,F在好了,編譯器在編譯的時候就會給出錯誤,

  Child.java:3: method does not override a method from its superclass
  @Override
  ^
  1 error


  怎么樣,這個功能還不錯吧。
   看過了標準標簽的使用方法,我們來看看用戶自定義標簽。首先介紹@interface, 它用于定義新的注釋類型(annotation type)。新建一個注釋類型看起來和定義一Interface 沒有什么兩樣,MyTag.java用于新建一個用戶自定義標簽,代碼如下,

  ===============================================================================
  package tiger.annotation;
  /**
  * 用戶自定義標簽??MyTag
  */
  public @interface MyTag { }

  定義了一個tag之后,我們就可以在任何java文件中使用這個tag了,
  import tiger.annotation.MyTag;
  public class TagTest{

  @MyTag
  public void testTag(){
  }
  }
  ===============================================================================

  注釋類型還可以有成員變量,

  ==============================================================================
  package tiger.annotation;
  /**
  * 用戶自定義標簽??帶有成員變量的MyTag
  */
  public @interface MyTag {

  String name();

  int age();
  }
  =============================================================================

  然后我們可以這么使用這個標簽,

  @MyTag(name="MyTag",age=1)
  public void testTag(){
  }

  使用標簽最終是為了幫助開發人員提取注釋信息,然后根據不同需求做進一步處理,下面我們來看看如何獲取注釋信息。

  =============================================================================
  import java.lang.annotation.Annotation;
  import tiger.annotation.MyTag;
  public class TagTest{

  @MyTag(name="MyTag",age=1)
  public void test(){
  }

  public static void main(String[] args){
  TagTest tt = new TagTest();
  try {
  Annotation[] annotation =tt.getClass().getMethod("test").getAnnotations();
  for (Annotation tag :annotation) {
  System.out.println("Tag is:" + tag);
  System.out.println("tag.name()" + ((MyTag)tag).name());
  System.out.println("tag.age()" + ((MyTag)(tag)).age());
  }
  } catch(NoSuchMethodException e) {
  e.printStackTrace();
  }
  }
  }
  ===============================================================================

  需要注意的一點是,在執行這段代碼之前我們還有一點小工作要做,還需要給我們的自定義標簽MyTag加上一個說明標簽,@ Retention, 表明注釋信息將可以在運行時刻通過反射機制得到。如果不加入這個標簽,上面的代碼將沒有任何輸出。修改以后的MyTag如下:

  ================================================================================
  /**
  * 用戶自定義標簽??帶有成員變量的MyTag
  */
  @Retention(RetentionPolicy.RUNTIME)
  public @interface MyTag {

  String name();

  int age();
  }
  ================================================================================

  然后我們執行TagTest可以得到輸出如下,

  Tag is:@tiger.annotation.MyTag(name=MyTag, age=1)
  tag.name()MyTag
  tag.age()1

  好了,Tiger新的注釋語法基本用法就這么簡單,基本用法雖然簡單,但是獲取注釋信息之后如何處理確很值得推敲,我們可以用他們來做一些語法檢查,文件相關性檢查,進行各種統計等等。關于更多的Tiger新注釋語法的信息,可以訪問[link=http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html]。

  以上代碼在win2k + j2se5 GA下通過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品video| 欧美日韩精品在线观看| 日韩高清电影免费观看完整版| 亚洲成人aaa| 这里只有视频精品| 97av在线视频| 欧美俄罗斯乱妇| 国产精品黄色影片导航在线观看| 欧美特黄级在线| 日韩免费观看网站| 亚洲精品电影久久久| 欧美日韩国产综合视频在线观看中文| 国产福利视频一区二区| 中文字幕日韩欧美精品在线观看| 欧美视频专区一二在线观看| 欧洲永久精品大片ww免费漫画| 久久久久久久一区二区| 欧洲美女免费图片一区| 国产91在线高潮白浆在线观看| 日韩美女在线播放| 亚洲片国产一区一级在线观看| 黑人巨大精品欧美一区二区| 日韩精品欧美激情| 正在播放国产一区| 欧美日韩精品在线观看| 中文字幕日韩av电影| 国产专区精品视频| 日韩在线高清视频| 国产精品福利无圣光在线一区| 国产精品电影网站| 欧美性极品少妇精品网站| 亚洲精品自产拍| 国产999精品视频| 国产日韩在线免费| 久久视频国产精品免费视频在线| 亚洲精品久久久久国产| 在线免费观看羞羞视频一区二区| 亚洲欧美另类在线观看| 亚洲精品国产综合区久久久久久久| 日韩精品欧美国产精品忘忧草| 日韩成人久久久| 国产一区视频在线| 亚洲一区二区三| …久久精品99久久香蕉国产| 欧美成人精品h版在线观看| 色偷偷888欧美精品久久久| 亚洲精品久久久久国产| 亚洲一区二区三区四区在线播放| 91av视频在线观看| 欧美精品一区二区免费| 国产婷婷成人久久av免费高清| 性色av一区二区三区免费| 欧美日韩成人在线播放| 国产精品网址在线| 91免费精品国偷自产在线| 国产婷婷色综合av蜜臀av| 日韩中文在线中文网三级| 川上优av一区二区线观看| 欧美在线一级va免费观看| 成人在线精品视频| 亚洲男子天堂网| 国产精品一区二区在线| 亚洲国产精品人人爽夜夜爽| 国产日本欧美在线观看| 91日韩在线播放| 国产精品久久久久久亚洲影视| 性色av香蕉一区二区| 国产视频自拍一区| 欧美激情区在线播放| 成人在线激情视频| 亚洲风情亚aⅴ在线发布| 国产精品一区二区av影院萌芽| 国产精品高清免费在线观看| 亚洲黄色有码视频| 成人福利视频在线观看| 日本精品视频在线| 国产精品免费久久久久影院| 在线播放国产精品| 亚洲片av在线| 国内精品久久久久久中文字幕| 91香蕉嫩草神马影院在线观看| 亚洲va欧美va在线观看| 亚洲人成亚洲人成在线观看| 日韩精品视频免费专区在线播放| 高清日韩电视剧大全免费播放在线观看| 日本91av在线播放| 国产精品视频一区二区三区四| 日韩欧美在线国产| 国产精品男人的天堂| 国产精品久久久久秋霞鲁丝| 91av免费观看91av精品在线| 亚洲自拍偷拍在线| 欧美午夜精品久久久久久人妖| 亚洲欧美日韩精品久久奇米色影视| 日本sm极度另类视频| 亚洲精品美女久久久久| 91av免费观看91av精品在线| 欧美国产日产韩国视频| 亚洲va久久久噜噜噜| 91精品国产色综合| 亚洲综合小说区| 日韩免费精品视频| 亚洲女同精品视频| 欧美性生交xxxxxdddd| 欧美一区二区.| 久久九九有精品国产23| 久久久久久久国产| 有码中文亚洲精品| 国产亚洲人成网站在线观看| 红桃视频成人在线观看| 日韩一区二区久久久| 2019av中文字幕| 亚洲欧美福利视频| 亚洲色图第一页| 国产精品久久精品| 国产亚洲欧洲黄色| 色综合天天综合网国产成人网| 亚洲精品影视在线观看| 久久精品91久久香蕉加勒比| 欧美日韩国产91| 亚洲欧洲在线免费| 亚洲加勒比久久88色综合| 成人免费在线视频网站| 日韩av在线精品| 精品偷拍一区二区三区在线看| 麻豆国产精品va在线观看不卡| 国产不卡av在线免费观看| 精品国产自在精品国产浪潮| 亚洲一区二区久久| 性色av一区二区咪爱| 51色欧美片视频在线观看| 色偷偷888欧美精品久久久| 日韩av片免费在线观看| 欧美性猛交xxxx久久久| 国产视频999| 精品亚洲aⅴ在线观看| 91精品国产色综合久久不卡98口| 日韩精品高清视频| 国产精品1234| 亚洲a在线播放| 欧美日韩国产一区二区| 精品在线小视频| 亚洲a成v人在线观看| 日韩在线观看免费高清完整版| 欧美成人激情视频免费观看| 最近2019中文字幕mv免费看| 日韩中文字幕网站| 欧美伊久线香蕉线新在线| 日韩中文字幕第一页| 这里只有精品视频在线| 亚洲国产成人精品久久久国产成人一区| 一本一本久久a久久精品牛牛影视| 国产丝袜一区视频在线观看| 欧美一级视频一区二区| 欧美激情免费观看| 欧美第一页在线| 国产精品欧美风情| 日韩精品在线视频美女| 91精品在线观| 欧美另类极品videosbestfree| 亚洲日本成人女熟在线观看| 91大神福利视频在线| 91精品国产高清久久久久久久久| 日韩在线中文字幕|