麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

J2SE1.5 注釋語法新鮮試用

2019-11-18 15:48:04
字體:
來源:轉載
供稿:網友

  說起注解語法,對于任何一個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.}

}

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(){
}
  使用標簽最終是為了幫助開發人員提取注釋信息,然后根據不同需求做進一步處理,下面我們來看看如何獲取注釋信息。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线亚洲播放 | av免费在线观看免费 | 中文字幕免费一区 | 成人免费一区二区三区在线观看 | 国产一区二区观看 | 久久精品国产99久久久古代 | 羞羞的视频免费在线观看 | av在线播放电影 | 精品中文字幕在线播放 | 亚洲欧美不卡视频 | 草草在线观看 | 国产剧情在线观看一区二区 | 欧美激情在线播放 | 日韩视频区| 亚洲视频在线一区二区 | 中文字幕亚洲欧美 | 日本网站在线看 | 久草视频2 | 综合精品久久 | 欧洲成人综合网 | 中文字幕www | 国产69精品99久久久久久宅男 | 久久久久久久一区二区三区 | 中文字幕www. | 看毛片电影 | 伊人yinren22综合网色 | 久久精品亚洲精品国产欧美kt∨ | 亚洲电影免费观看国语版 | 成人在线视频国产 | 91福利社在线 | 最近中文字幕一区二区 | 国产一有一级毛片视频 | 成人做爽爽爽爽免费国产软件 | 九九热视频这里只有精品 | 毛片视频网站在线观看 | 国产精品久久久网站 | 欧美日韩国产成人在线观看 | 久久久久北条麻妃免费看 | 免费播放欧美毛片 | 91九色福利 | 亚洲最黄视频 |