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 © 啥都寫點
主站蜘蛛池模板:
亚洲中文字幕无码一区
|
好男人www免费高清视频在线
|
日本中文一区二区三区亚洲
|
亚洲av无码专区在线电影天堂
|
韩国日本好看电影免费看
|
亚洲美国产亚洲AV
|
国产aa免费视频
|
无码人妻一区二区三区免费视频
|
亚洲国产精品午夜电影
|
免费看黄视频网站
|
亚洲区日韩精品中文字幕
|
国产成人涩涩涩视频在线观看免费
|
最近2019年免费中文字幕高清
|
亚洲热线99精品视频
|
久久99精品国产免费观看
|
亚洲资源在线视频
|
在线观看人成网站深夜免费
|
精品免费AV一区二区三区
|
亚洲精品国产电影
|
a级毛片毛片免费观看永久
|
亚洲一级二级三级不卡
|
国产在线国偷精品产拍免费
|
国产亚洲漂亮白嫩美女在线
|
国产成人A亚洲精V品无码
|
精品熟女少妇av免费久久
|
亚洲一本一道一区二区三区
|
亚洲成A人片在线观看无码3D
|
免费观看男人吊女人视频
|
久久精品国产亚洲av麻豆蜜芽
|
国产成人一区二区三区免费视频
|
一级毛片免费一级直接观看
|
亚洲国产精品不卡在线电影
|
成人免费看片又大又黄
|
一本一道dvd在线观看免费视频
|
亚洲欧美成人av在线观看
|
亚洲国产精品毛片av不卡在线
|
久久ww精品w免费人成
|
国产精品久久久久久亚洲影视
|
国产亚洲人成网站在线观看不卡
|
久久久久久免费视频
|
精品一区二区三区免费视频
|