国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java注解一

2019-11-06 06:19:09
字體:
來源:轉載
供稿:網友

一、注解的分類

1、java SE5內置了三種內建注解

@Override,表示當前的方法定義將覆蓋超類中的方法。@DePRecated,使用了注解為它的元素編譯器將發出警告,因為注解@Deprecated是不贊成使用的代碼,被棄用的代碼。@SuppressWarnings,關閉不當編譯器警告信息。

2、Java還提供了4種元注解

元注解 解釋
@Target 表示該注解可以用于什么地方,可能的ElementType參數有:CONSTRUCTOR:構造器的聲明FIELD:域聲明(包括enum實例)LOCAL_VARIABLE:局部變量聲明METHOD:方法聲明PACKAGE:包聲明PARAMETER:參數聲明TYPE:類、接口(包括注解類型)或enum聲明
@Retention 表示需要在什么級別保存該注解信息。可選的RetentionPolicy參數包括:SOURCE:注解將被編譯器丟棄CLASS:注解在class文件中可用,但會被VM丟棄RUNTIME:VM將在運行期間保留注解,因此可以通過反射機制讀取注解的信息。
@Document 將注解包含在Javadoc中
@Inherited 允許子類繼承父類中的注解

二、注解的分類

注解分為兩類,一類是元注解,另外一類是普通注解。 所謂元注解就是修飾注解的注解。 拿到一個注解,如何知道它是否是元注解呢?需要看它的元注解(無論是元注解還是普通注解都是有元注解的),如果看到這樣的元注解:@Target(ElementType.ANNOTATION_TYPE),那么此時這個注解一定是元注解。

三、注解的語法與定義形式

(1)以@interface關鍵字定義 (2)注解包含成員,成員以無參數的方法的形式被聲明。其方法名和返回值定義了該成員的名字和類型。 (3)成員賦值是通過@Annotation(name=value)的形式。 (4)注解需要標明注解的生命周期,注解的修飾目標等信息,這些信息是通過元注解實現。

例如:

@Retention(value = RetentionPolicy.RUNTIME)@Target(value = { ElementType.ANNOTATION_TYPE } )public @interface Target{ ElementType[] value();}

源碼分析如下: 第一:元注解@Retention,成員value的值為RetentionPolicy.RUNTIME。 第二:元注解@Target,成員value是個數組,用{}形式賦值,值為ElementType.ANNOTATION_TYPE 第三:成員名稱為value,類型為ElementType[] 另外,需要注意一下,如果成員名稱是value,在賦值過程中可以簡寫。如果成員類型為數組,但是只賦值一個元素,則也可以簡寫。如上面的簡寫形式為: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸西县| 五家渠市| 北辰区| 宁明县| 寻甸| 大足县| 双鸭山市| 高台县| 灌云县| 凯里市| 临泽县| 拉萨市| 红河县| 如皋市| 南川市| 页游| 大埔县| 永泰县| 富平县| 从化市| 务川| 获嘉县| 澜沧| 合阳县| 凯里市| 东方市| 许昌市| 汝城县| 留坝县| 峨眉山市| 镇坪县| 松阳县| 五莲县| 随州市| 凌云县| 永济市| 安丘市| 秭归县| 额济纳旗| 额济纳旗| 新河县|