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

溫馨提示×

溫馨提示×

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

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

java注解的全面分析

發布時間:2020-09-18 22:38:06 來源:腳本之家 閱讀:161 作者:大白能 欄目:編程語言

全面解析java注解

Java中的常見注解

a.JDK中的注解

    @Override 覆蓋父類或者父接口的方法
    @Deprecated 表示方法已經過時
    @SuppressWarnings("deprecation") 忽略方法過時警告

b.常見的第三方注解

    例如Spring中的@Autowired(自動注入)

注解的分類

a.按照運行機制分

    1.源碼注解
        注解只在源碼中存在,編譯成class文件就不存在了

    2.編譯時注解
        注解在源碼和class文件中都存在
        eg:@Override、@Deprecated、@SuppressWarnings

    3.運行時注解
        在運行階段還起作用,甚至會影響運行邏輯
        eg:@Autowired

b.按照來源分

    1.來自JDK的注解
    2.來自第三方的注解
    3.自定義注解

c.元注解:注解的注解

自定義注解

1.自定義注解的語法要求

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

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Description {
  String desc();
  String author();
  int age() default 18;
}

注意:

  • 使用@interface關鍵字定義注解
  • 成員以無參無異常方式聲明
  • 可以用default為成員指定一個默認值
  • 成員類型是受限的,合法的類型包括原始類型以及String、Class、Annotation、Enumeration
  • 如果注解只有一個成員,則成員名必須取名為value(),在使用時可以忽略成員名和賦值號(=)
  • 注解類可以沒有成員,沒有成員的注解稱為標識注解

2.元注解

a.@Target({ElementType.METHOD,ElementType.TYPE})

注解的作用域:

  • ElementType.CONSTRUCTOR 構造方法聲明
  • ElementType.FIELD 字段聲明
  • ElementType.LOCAL_VARIABLE 局部變量聲明
  • ElementType.METHOD 方法聲明
  • ElementType.PACKAGE 包聲明
  • ElementType.PARAMETER 參數聲明
  • ElementType.TYPE 類、接口

b.@Retention(RetentionPolicy.RUNTIME)

注解的生命周期:

  • RetentionPolicy.SOURCE 只在源碼顯示,編譯時會丟棄
  • RetentionPolicy.CLASS 編譯時會記錄到class中,運行時忽略
  • RetentionPolicy.RUNTIME 運行時存在,可以通過反射讀取

c.@Inherited

標識性的元注解:允許子類繼承

d.@Documented

生成javadoc時會包含注解

使用自定義注解
語法:@注解名(成員1=成員值1,成員2=成員值2)

@Description(desc="I am demo",author="boy",age=18)
public void demo(){}

解析注解

概念:通過反射獲取類、函數或成員上的運行時注解信息,從而實現動態控制程序運行的邏輯

以上就是java 注解的實例詳解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

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

AI

会宁县| 新宁县| 榆树市| 宁远县| 灵宝市| 河池市| 锡林浩特市| 隆化县| 永寿县| 随州市| 苍南县| 临夏县| 浦北县| 岫岩| 岳西县| 延川县| 浙江省| 安顺市| 大港区| 娄底市| 甘德县| 承德县| 彰化县| 合作市| 哈尔滨市| 福清市| 大新县| 广昌县| 阳曲县| 龙江县| 克山县| 黑水县| 即墨市| 东城区| 桃江县| 静乐县| 天全县| 古蔺县| 海晏县| 平陆县| 新乡市|