无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

后端 | Java | 注解

2023-06-23 23:48 作者:朵寶特工007  | 我要投稿

筆記來源:Java入門基礎(chǔ)視頻教程,java零基礎(chǔ)自學(xué)就選黑馬程序員Java入門教程

一、注解(Annotation)

  • 就是Java代碼中的特殊標記,比如@Override、@Test,作用是:讓其他程序根據(jù)注解信息來決定怎么執(zhí)行該程序。

  • 注解可以用在類上、構(gòu)造器上、方法上、成員變量上、參數(shù)上等位置處。

  • 注解的原理:注解本質(zhì)是一個接口,Java中所有注解都是繼承了Annotation接口的。

  • @注解(...):其實就是一個實現(xiàn)類對象,實現(xiàn)了該注解以及Annotation接口。


二、自定義注解

  • 自己定義的注解。

  • 特殊屬性名:value

    • 如果注解中只有一個value屬性,使用注解時,value名稱可以不寫。


三、元注解

  • 元注解是指修飾注解的注解。

  • 常見的元注解:

    • @Target:@Target(ElementType.Type),聲明當前被修飾的注解只能在哪些位置使用。

      • TYPE:類、接口。

      • FIELD:成員變量。

      • METHOD:成員方法。

      • PARAMETER:方法參數(shù)。

      • CONSTRUCTOR:構(gòu)造器。

      • LOCAL_VARIABLE:局部變量。

    • @Retention:@Retention(RetentionPolicy.RUNTIME),聲明注解的保留周期。

      • SOURCE:只作用在源碼階段,字節(jié)碼文件中不存在。

      • CLASS(默認值):保留到字節(jié)碼文件階段,運行階段不存在。

      • RUNTIME(開發(fā)常用):一直保留到運行階段。


四、注解的解析

  • 就是判斷類上、方法上、成員變量上是否存在注解,并把注解里的內(nèi)容給解析出來。

  • 要解析誰上面的注解,就應(yīng)該先拿到誰;比如要解析類上的注解,則應(yīng)該先獲取該類的Class對象,再通過Class對象解析其上面的注解。

  • Class、Method、Field、Constructor都實現(xiàn)了AnnotatedElement接口,他們都擁有解析注解的能力。

  • AnnotatedElement接口提供的方法:

    • public Annotation[] getDeclaredAnnotations():獲取當前對象上面的注解。

    • public T getDeclaredAnnotation(Class<T> annotationClass):獲取指定的注解對象。

    • public boolean isAnnotationPresent(Class<Annotation> annotation):判斷當前對象上是否存在某個注解。


后端 | Java | 注解的評論 (共 條)

分享到微博請遵守國家法律
襄城县| 宜阳县| 辛集市| 远安县| 行唐县| 通渭县| 阿克| 同仁县| 探索| 东兴市| 巫溪县| 且末县| 房产| 蓝山县| 清新县| 怀仁县| 准格尔旗| 富顺县| 锡林浩特市| 年辖:市辖区| 南丰县| 肥西县| 农安县| 潜江市| 武宁县| 吴川市| 屏南县| 黔西县| 隆昌县| 安康市| 海南省| 勐海县| 孟州市| 安陆市| 抚顺市| 乌拉特中旗| 江孜县| 田林县| 乌拉特前旗| 六枝特区| 榆中县|