欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

定義

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

作用

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

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

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

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

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

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

@Override

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

@Deprecated

表示該方法已經(jīng)過(guò)時(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)過(guò)時(shí)
    public void work(){				

    }
}

下面是主類

在這里插入圖片描述

自定義注解

格式:

? 元注解

? public @interface 注解名稱{

? 屬性列表

? }

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

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

元注解

注解的注解就是元注解

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

在這里插入圖片描述

我們需要掌握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 substring(a)與substring(a,b)的使用說(shuō)明

    java substring(a)與substring(a,b)的使用說(shuō)明

    這篇文章主要介紹了java substring(a)與substring(a,b)的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密

    三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密

    SM2算法和RSA算法都是公鑰密碼算法,SM2算法是一種更先進(jìn)安全的算法,在我們國(guó)家商用密碼體系中被用來(lái)替換RSA算法,這篇文章主要給大家介紹了關(guān)于如何通過(guò)三步輕松實(shí)現(xiàn)Java的SM2前端加密后端解密的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java中Optional類及orElse方法詳解

    Java中Optional類及orElse方法詳解

    這篇文章主要為大家介紹了Java中Optional類及orElse()方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • QTabWidget標(biāo)簽實(shí)現(xiàn)雙擊關(guān)閉的方法(推薦)

    QTabWidget標(biāo)簽實(shí)現(xiàn)雙擊關(guān)閉的方法(推薦)

    這篇文章主要介紹了QTabWidget標(biāo)簽實(shí)現(xiàn)雙擊關(guān)閉的方法(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問(wèn)題

    springmvc使用REST出現(xiàn):Request?method?'PUT'?not?sup

    這篇文章主要介紹了springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • JavaWeb?Servlet技術(shù)及其應(yīng)用實(shí)踐

    JavaWeb?Servlet技術(shù)及其應(yīng)用實(shí)踐

    這篇文章主要介紹了JavaWeb?Servlet技術(shù),Servlet指在服務(wù)器端執(zhí)行的一段Java代碼,可以接收用戶的請(qǐng)求和返回給用戶響應(yīng)結(jié)果,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • 如何使用Sentry 監(jiān)控你的Spring Boot應(yīng)用

    如何使用Sentry 監(jiān)控你的Spring Boot應(yīng)用

    這篇文章主要介紹了如何使用Sentry 監(jiān)控你的Spring Boot應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java實(shí)現(xiàn)圖片比對(duì)算法

    Java實(shí)現(xiàn)圖片比對(duì)算法

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖片比對(duì)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 深入解析Java的Hibernate框架中的持久對(duì)象

    深入解析Java的Hibernate框架中的持久對(duì)象

    Hibernate的持久對(duì)象在數(shù)據(jù)庫(kù)數(shù)據(jù)操作中有著重要作用,這里我們就來(lái)深入解析Java的Hibernate框架中的持久對(duì)象,首先必須從理解持久化對(duì)象的生命周期開始:
    2016-07-07
  • Java 日期格式y(tǒng)yyy-MM-dd與YYYY-MM-dd區(qū)別

    Java 日期格式y(tǒng)yyy-MM-dd與YYYY-MM-dd區(qū)別

    我們?cè)趈ava中常用的規(guī)范格式為:
    yyyy-MM-dd HH:mm:ss:SSS 24小時(shí)制或yyyy-MM-dd hh:mm:ss:SSS 12小時(shí)制,本文就來(lái)介紹一下兩者的區(qū)別,感興趣的可以了解一下
    2023-11-11

最新評(píng)論