最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java基礎(chǔ)之注解示例詳解

 更新時(shí)間:2021年12月27日 11:30:49   作者:嘿,魚骨頭^O^  
大家好,本篇文章主要講的是java基礎(chǔ)之注解示例詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

定義

注解也叫原數(shù)據(jù),它是JDK1.5及之后版本引入的一個(gè)特性,它可以聲明在類、方法、變量等前面,用來對(duì)這些元素進(jìn)行說明。

作用

生成文檔:通過代碼里標(biāo)識(shí)的注解生成doc文檔【生成doc文檔】

代碼分析:通過代碼里標(biāo)識(shí)的注解對(duì)代碼進(jìn)行分析【反射】

編譯檢查:通過代碼里標(biāo)識(shí)的注解讓編譯器能夠?qū)崿F(xiàn)基本的編譯檢查【Override】

注解與注釋的區(qū)別

注解是給編譯器看的,注釋是給程序員看的。

JDK內(nèi)置的標(biāo)準(zhǔn)注解

@Override

表示該方法是覆蓋父類的,如果某個(gè)方法父類中并沒有,且該方法使用了@Override,則會(huì)報(bào)錯(cuò)

@Deprecated

表示該方法已經(jīng)過時(shí),但還是可以用

@SuppressWarnings

壓制警告

一般用在類的前面,傳遞參數(shù)"all",表示壓制該類的所有警告

這是父類代碼

public class Fu {
    public void eat(){
        System.out.println("Fu 吃......");
    }
}

這是子類代碼

@SuppressWarnings("all")//壓制該類下的所有警告
public class Zi extends Fu{

    @Override			//表示該方法是重寫父類的
    public void eat(){
        System.out.println("Zi eat......");
    }
    @Deprecated			//表示該方法已經(jīng)過時(shí)
    public void work(){				

    }
}

下面是主類

在這里插入圖片描述

自定義注解

格式:

? 元注解

? public @interface 注解名稱{

? 屬性列表

? }

注解本質(zhì)其實(shí)上是一個(gè)接口,該接口默認(rèn)繼承Annotation接口

public interface 注解名稱extends java.lang.annotation.Annotation {}

元注解

注解的注解就是元注解

下面是@Override注解的源碼,我們可以看到在@Override的前面還有一些注解,下面我們來介紹一下這些注解

在這里插入圖片描述

我們需要掌握5種元注解:

@Target

指明了注解可以在哪里使用

參數(shù)ElementType取值

? TYPE:指明注解可以使用在類上

? METHOD:指明注解可以使用在方法上

? FIELD:指明注解可以使用在成員變量上

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})	//當(dāng){}里面的內(nèi)容只有一個(gè)時(shí),{}可以省略
public @interface PersonWrite {
        int age();
        String name() default "22";
}

@Retention()

指明注解被保留的階段:

注解保留到源代碼階段

@Retention(RetentionPolicy.SOURCE)   

注解保留到編譯階段

@Retention(RetentionPolicy.CLASS)

注解1保留到運(yùn)行階段

@Retention(RetentionPolicy.RUNTIME)

@Documented

標(biāo)識(shí)注解被抽取到doc文檔中

@Inherited

標(biāo)識(shí)注解被子類繼承

屬性

注解中的屬性其實(shí)是抽象方法

屬性的返回類型只能是下面幾種類型:

基本數(shù)據(jù)類型

String

枚舉

注解

以上類型的數(shù)組

如果注解里面定義了屬性(接口),在使用時(shí)要給屬性賦值

如果定義屬性時(shí)使用default給屬性賦值,則在使用注解時(shí)可以不給該屬性賦值(當(dāng)然也可以重新賦值)如果注解只有一個(gè),且注解的名稱是value,則使用時(shí)傳參直接寫參數(shù)即可,不用寫屬性名數(shù)組賦值時(shí),使用{}包裹,如果數(shù)組中只有一個(gè)值,則{}可以省略

下面是自定義的注解:

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface PersonWrite {
        int age();
        String name() default "李四";
}

下面是該注解的使用:

package Java高級(jí)特性.注解;

@PersonWrite(age = 222)
public class Main {

    public static void main(String[] args) {
        Zi zi = new Zi();
        zi.work();
    }
}

到此這篇關(guān)于java基礎(chǔ)之注解示例詳解的文章就介紹到這了,更多相關(guān)java注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java通過釘釘機(jī)器人發(fā)消息的實(shí)現(xiàn)示例

    java通過釘釘機(jī)器人發(fā)消息的實(shí)現(xiàn)示例

    本文主要介紹了java通過釘釘機(jī)器人發(fā)消息的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • @PathVariable和@RequestParam傳參為空問題及解決

    @PathVariable和@RequestParam傳參為空問題及解決

    這篇文章主要介紹了@PathVariable和@RequestParam傳參為空問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java 線程相關(guān)總結(jié)

    Java 線程相關(guān)總結(jié)

    這篇文章主要介紹了Java 線程的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • java中找不到符號(hào)的解決方案

    java中找不到符號(hào)的解決方案

    這篇文章主要介紹了java中找不到符號(hào)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • java 定時(shí)器Timer和TimerTask的使用詳解(執(zhí)行和暫停)

    java 定時(shí)器Timer和TimerTask的使用詳解(執(zhí)行和暫停)

    這篇文章主要介紹了java 定時(shí)器Timer和TimerTask的使用詳解(執(zhí)行和暫停),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法

    Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法

    這篇文章主要介紹了Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了Java操作ArrayList自定義排序的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • 淺析NIO系列之TCP

    淺析NIO系列之TCP

    NIO即同步非阻塞式IO,它和傳統(tǒng)的BIO比較最大的區(qū)別在于在執(zhí)行accept、connect、read、write操作時(shí)是非阻塞的。很有利于實(shí)現(xiàn)用少量線程來處理多個(gè)客戶端請(qǐng)求,可以隨時(shí)讓線程切換所處理的客戶端,從而可以實(shí)現(xiàn)高并發(fā)服務(wù)器的開發(fā)
    2021-06-06
  • MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的方法

    MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的方法

    MyBatis-Plus是一款基于MyBatis的增強(qiáng)工具,它提供了一些便捷的功能和增強(qiáng)的查詢能力,數(shù)據(jù)權(quán)限控制是在系統(tǒng)中對(duì)用戶訪問數(shù)據(jù)進(jìn)行限制的一種機(jī)制,這篇文章主要給大家介紹了關(guān)于MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南

    SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南

    在項(xiàng)?開發(fā)中,對(duì)于前端提交的表單,后臺(tái)接?接收到表單數(shù)據(jù)后,為了保證程序的嚴(yán)謹(jǐn)性,通常后端會(huì)加?業(yè)務(wù)參數(shù)的合法校驗(yàn)操作來避免程序的?技術(shù)性?bug,這篇文章主要給大家介紹了關(guān)于SpringBoot后端數(shù)據(jù)校驗(yàn)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Java返回分頁結(jié)果集的封裝代碼實(shí)例

    Java返回分頁結(jié)果集的封裝代碼實(shí)例

    這篇文章主要介紹了java返回分頁結(jié)果集的封裝代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論

岢岚县| 安吉县| 绥滨县| 延长县| 新余市| 屏南县| 宁强县| 乌苏市| 星子县| 昆山市| 曲靖市| 建始县| 太谷县| 昂仁县| 临夏市| 磐安县| 扶风县| 秦皇岛市| 鲁甸县| 丽水市| 鄢陵县| 孝感市| 鹤岗市| 福清市| 彭阳县| 阳新县| 台北市| 高要市| 绍兴市| 商丘市| 绿春县| 凌云县| 陵川县| 安阳市| 贞丰县| 罗甸县| 康乐县| 安仁县| 平顺县| 城固县| 安达市|