這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)java中不同注解的作用,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站是專業(yè)的農(nóng)安網(wǎng)站建設(shè)公司,農(nóng)安接單;提供做網(wǎng)站、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行農(nóng)安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
從 Java 5 版本之后可以在源代碼中嵌入一些補充信息,這種補充信息稱為注解(Annotation),是 Java 平臺中非常重要的一部分。注解都是 @ 符號開頭的,例如我們在學習方法重寫時使用過的 @Override 注解。同 Class 和 Interface 一樣,注解也屬于一種類型。
1、元注解
1.1 @Target
【作用】
用于指定所標注的注解可以使用的位置,例如:@Target(ElementType.METHOD):表示可以使用在方法上,其他結(jié)構(gòu)不能使用;@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、配置參數(shù)聲明
【格式】
【數(shù)據(jù)類型】 參數(shù)名() default 默認值;
default 默認值:在需要設(shè)置默認值時,可以添加,需要設(shè)置時,不用寫;
數(shù)據(jù)類型只能是:基本數(shù)據(jù)類型、String、Class、enum、Annotation,及以上所有類型的一維數(shù)組。
如果參數(shù)成員只有一個或使用頻率較高的參數(shù)可以定義參數(shù)名為:value,在使用注解時,若參數(shù)名為 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中不同注解的作用了,如果您也有類似的疑惑,不妨參照上述方法進行嘗試。如果想了解更多相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。
網(wǎng)站題目:java中不同注解的作用
瀏覽路徑:http://chinadenli.net/article42/jigsec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、軟件開發(fā)、定制開發(fā)、域名注冊、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)