91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中不同注解的作用

發布時間:2020-06-23 13:56:07 來源:億速云 閱讀:190 作者:元一 欄目:編程語言

這期內容當中小編將會給大家帶來有關java中不同注解的作用,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

從 Java 5 版本之后可以在源代碼中嵌入一些補充信息,這種補充信息稱為注解(Annotation),是 Java 平臺中非常重要的一部分。注解都是 @ 符號開頭的,例如我們在學習方法重寫時使用過的 @Override 注解。同 Class 和 Interface 一樣,注解也屬于一種類型。

1、元注解

1.1 @Target

【作用】

用于指定所標注的注解可以使用的位置,例如:@Target(ElementType.METHOD):表示可以使用在方法上,其他結構不能使用;@Target({ElementType.METHOD, ElementType.TYPE}):表示可以使用在方法和接口、類、枚舉上。

1.2 @Retention

【作用】

用于指定所標注的注解保留階段,該注解共有三個值:

@Retention(RetentionPolicy.SOURCE):表示保留到源代碼階段,編譯后消失

@Retention(RetentionPolicy.CLASS):表示保留到編譯階段,運行后消失

@Retention(RetentionPolicy.RUNTIME):表示保留到運行階段,若要通過反射讀取注解信息,需要指定該注解保留階段為 RUNTIME

1.3 @Inherited

【作用】

表明這個注解是否可以被子類繼承。

1.4 @Documented

【作用】

表明這個注解是否可以被 Javadoc 讀取到文檔中。

2、注解聲明

【格式】

【元注解】

【修飾符】 @interface 注解名 { 注解體 }

【例子】

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}

3、配置參數聲明

【格式】

【數據類型】 參數名() default 默認值;

default 默認值:在需要設置默認值時,可以添加,需要設置時,不用寫;

數據類型只能是:基本數據類型、String、Class、enum、Annotation,及以上所有類型的一維數組。

如果參數成員只有一個或使用頻率較高的參數可以定義參數名為:value,在使用注解時,若參數名為 value 可以省略,直接寫輸入的值。

【例子】

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String name() default "";
}

4、讀取注解信息

只有注解標注 @Retention(RetentionPolicy.RUNTIME) 才能通過反射讀取。

讀取注解信息通過反射讀取,具體如下:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class TestInterface {
    public static void main(String[] args) {
        MyAnnotation myAnnotation = MyClass.class.getAnnotation(MyAnnotation.class);
        String value = myAnnotation.value();
        System.out.println(value);
    }
}

@MyAnnotation
class MyClass {}

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value() default "我是一個注解";
}

上述就是小編為大家分享的java中不同注解的作用了,如果您也有類似的疑惑,不妨參照上述方法進行嘗試。如果想了解更多相關內容,請關注億速云行業資訊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨眉山市| 岱山县| 怀宁县| 山西省| 托克托县| 林甸县| 长乐市| 金湖县| 南召县| 梅河口市| 大洼县| 富平县| 庆云县| 泰安市| 凤庆县| 河曲县| 那曲县| 唐山市| 都昌县| 英山县| 紫阳县| 尉犁县| 额济纳旗| 青神县| 昂仁县| 东辽县| 靖江市| 泰州市| 怀宁县| 龙海市| 曲阜市| 永和县| 康平县| 阳高县| 汉中市| 甘肃省| 张家界市| 浙江省| 图们市| 汉沽区| 梓潼县|