Cyh的博客
Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
公告
一直努力努力努力,像奴隸奴隸奴隸!~~
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
隨筆檔案
(25)
2011年5月 (1)
2010年4月 (12)
2010年1月 (1)
2009年12月 (2)
2009年6月 (1)
2009年4月 (4)
2009年2月 (4)
文章分類
(219)
Android(26)
DB(5)
J2EE(31)
J2SE(79)
JavaScript(15)
others(47)
SOA&Web Service(1)
中間件(1)
軟件工程(12)
軟件架構(2)
文章檔案
(220)
2011年8月 (1)
2010年12月 (23)
2010年11月 (2)
2010年8月 (5)
2010年7月 (2)
2010年6月 (2)
2010年5月 (1)
2010年4月 (12)
2010年3月 (28)
2010年2月 (5)
2010年1月 (23)
2009年12月 (39)
2009年6月 (14)
2009年5月 (31)
2009年3月 (2)
2009年2月 (29)
2009年1月 (1)
新聞檔案
(66)
2010年10月 (1)
2010年9月 (5)
2010年8月 (11)
2010年7月 (21)
2010年6月 (13)
2010年5月 (8)
2010年4月 (5)
2009年11月 (2)
相冊
Ryan
收藏夾
(7)
JAVA(7)
最新隨筆
1.?集成FCKeditor 3.5.3
2.?android自適應屏幕方向和大小
3.?Android游戲開發之旅(二十) 雙按事件捕獲
4.?Android游戲開發之旅(十八) SoundPool類
5.?Android游戲開發之旅(十九) 分辨率大全
6.?Android游戲開發之旅(十七) 圖像漸變特效
7.?Android游戲開發之旅(十六) 異步音樂播放
8.? Android游戲開發之旅(十四) 游戲開發實戰一
9.?Android游戲開發之旅(十五) 按鍵中斷處理
10.?Android游戲開發之旅(十二)Sensor重力感應(2)
搜索
最新評論
1.?re: struts2 checkboxlist標簽的使用
同居同意同意
--yuk
2.?re: struts2 checkboxlist標簽的使用
ss
--d
3.?re: JavaMail(4)--使用POP3接收郵件
郵件信息可以打印出來,可是下載郵件會出錯是什么原因?
--琳喵喵0721
4.?re: JavaMail(4)--使用POP3接收郵件
評論內容較長,點擊標題查看
--流風
5.?re: 操作PDF文件
評論內容較長,點擊標題查看
--ly.wolf
閱讀排行榜
1.?struts2 checkboxlist標簽的使用(18234)
2.?struts2異常攔截器(5862)
3.?struts2迭代標簽(3847)
4.?用freemind 秒殺Spring Security(1920)
5.?加載順序會影響對spring bean 的調用。(1491)
注釋功能Annotation
Posted on 2009-12-20 00:32
啥都寫點
閱讀(211)
評論(0)
編輯
收藏
所屬分類:
J2SE
Java有兩個常用的內置的注釋:
@Override放在方法的訪問修飾符前,表示該方法覆蓋了父類的同名同參方法,如果該方法沒有覆蓋父類的方法而使用該注釋,則編譯器會報錯。
@Deprecated放在變量和方法的訪問修飾符前,表示該變量或者方法已經不推薦使用,通常是因為它很危險或者是存在更好的選擇。
可以自定義注釋類型,與enum定義枚舉類型一樣,使用@interface定義注釋類型。
能在自定義的注釋類型中定義其他類、屬性和方法。定義屬性時,以屬性名為方法名,以屬性類型為方法的返回值類型,方法后接default關鍵字表示屬性的默認值。如"String name();"表示該注釋類型具有name屬性,類型為String;而"int age()default 20;"表示該注釋類型具有age屬性,類型為int,默認值為20
可以在自定義注釋類型的聲明中添加注釋,即注釋的元注釋。Java有2個常用的內置的元注釋。
@Target指定Annotation類型可以應用的程序元素, 程序元素的類型由java.lang.annotation.ElementType枚舉類定義。如ElementType.METHOD表示該注釋類型只能用于方法聲明中。
@Retention和Java編譯器處理Annotation類型的方式有關,這些方式有java.lang.annotation.RetentionPolicy枚舉類定義。如RetentionPolicy.RUNTIME表示該注釋類型將被編譯成class文件。
@Documented指明需要在Javadoc中包含注釋類型(默認是不包含的)
import
java.lang.annotation.ElementType;
import
java.lang.annotation.Retention;
import
java.lang.annotation.RetentionPolicy;
import
java.lang.annotation.Target;
/** */
/**
* 使用注釋Annotation.
* Java 編程的一個最新趨勢就是使用元數據,元數據可以用于創建文檔,
* 跟蹤代碼中的依賴性,甚至執行基本編譯時檢查。
* 許多元數據工具(如Xdoclet)將這些功能添加到核心Java語言中,暫時成為Java編程功能的一部分。
* Annotation是可以添加到代碼中的修飾符,
* 可以用于包聲明、類型聲明、構造函數、方法、域變量、參數和變量
*/
public
class
AnnotationData
{
@Deprecated
private
String name;
public
AnnotationData(String name)
{
this
.name
=
name;
}
//
方法聲明中使用了內置的@Override元數據,表示該方法覆蓋了父類的同名同參數方法
//
如果父類不存在該方法,則編譯不會通過。
@Override
public
String toString()
{
return
super
.toString()
+
this
.name;
}
@Override
public
int
hashCode()
{
return
toString().hashCode();
}
/** */
/**
* 方法中使用了內置的@Deprecated元數據,表示該方法已經不被推薦使用了。
*
@return
*/
@Deprecated
public
String getName()
{
return
name;
}
public
String getAnnotationDataName()
{
return
this
.name;
}
//
下面自定義元數據類型
//
使用@interface聲明Annotation類型
public
@
interface
MyAnnotation
{
//
在元數據類中可以定義其他類
public
enum
Severity
{
CRITICAL, IMPORTANT, TRIVIAL, DOCUMENTATION
}
;
//
定義數據成員不需要定義getter和setter方法,
//
只需要定義一個以成員名稱命名的方法,并指定返回類型為需要的數據類型
//
default關鍵字為Annotation類型的成員設置缺省值
Severity severity()
default
Severity.IMPORTANT;
String item();
String assignedTo();
String dateAssigned();
}
//
使用自定義Annotation類型,在使用時,
//
如果Annotation類型在其他的包下,需要跟使用類一樣,import它
@MyAnnotation(
severity
=
MyAnnotation.Severity.CRITICAL,
item
=
"
Must finish this method carefully
"
,
assignedTo
=
"
Programmer A
"
,
dateAssigned
=
"
2006/09/10
"
)
public
void
doFunction()
{
//
do something
}
//
下面再定義一個Annotation類型,使用了元數據的元數據
//
@Target指定Annotation類型可以應用的程序元素,
//
程序元素的類型由java.lang.annotation.ElementType枚舉類定義
//
@Retention和 Java 編譯器處理Annotation類型的方式有關,
//
這些方式由java.lang.annotation.RetentionPolicy 枚舉類定義
//
@Documented指明需要在Javadoc中包含Annotation(缺省是不包含的)
//
@Retention(RetentionPolicy.RUNTIME)這個meta-annotation
//
表示了此類型的annotation將編譯成class文件,而且還能被虛擬機讀取。
//
而@Target(ElementType.METHOD)表示此類型的annotation只能用于修飾方法聲明
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public
@
interface
MyNewAnnotation
{
}
}
--
學海無涯
Powered by:
BlogJava
Copyright © 啥都寫點
主站蜘蛛池模板:
豆国产96在线|亚洲
|
国产亚洲精品线观看动态图
|
亚洲精品自产拍在线观看
|
亚洲av无码专区青青草原
|
成人免费视频观看无遮挡
|
亚洲乱码一二三四区国产
|
91精品成人免费国产片
|
亚洲啪啪免费视频
|
免费在线观看理论片
|
曰批免费视频播放在线看片二
|
国产一区二区三区在线观看免费
|
亚洲AⅤ男人的天堂在线观看
|
国产精品亚洲二区在线观看
|
亚洲精品网站在线观看你懂的
|
久久午夜免费鲁丝片
|
色婷婷亚洲十月十月色天
|
少妇太爽了在线观看免费视频
|
免费一级毛片正在播放
|
四虎影视成人永久免费观看视频
|
亚洲午夜精品久久久久久app
|
四虎成人免费影院网址
|
免费大片av手机看片高清
|
亚洲网站视频在线观看
|
国内精品久久久久久久亚洲
|
国产午夜精品理论片免费观看
|
亚洲AV一宅男色影视
|
69式互添免费视频
|
国产免费区在线观看十分钟
|
久久亚洲精品国产精品黑人
|
57pao一国产成视频永久免费
|
中文字幕精品三区无码亚洲
|
国产成人一区二区三区免费视频
|
国产精品成人免费观看
|
亚洲永久永久永久永久永久精品
|
免费日韩在线视频
|
亚洲成在人线aⅴ免费毛片
|
一级做a爰片久久毛片免费陪
|
最近在线2018视频免费观看
|
久久精品免费网站网
|
精品成人一区二区三区免费视频
|
成年男女男精品免费视频网站
|