真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java注解的使用方法-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Java 注解的使用方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、望花網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為望花等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

注解說明

Java注解又稱Java標(biāo)注,是Java語(yǔ)言5.0版本開始支持加入源代碼的特殊語(yǔ)法元數(shù)據(jù)。為我們?cè)诖a中添加信息提供了一種形式化的方法,使我們可以在稍后某個(gè)時(shí)刻非常方便的使用這些數(shù)據(jù)。Java語(yǔ)言中的類、方法、變量、參數(shù)和包等都可以被標(biāo)注。和Javadoc不同,Java標(biāo)注可以通過反射獲取注解內(nèi)容。在編譯器生成類文件時(shí),注解可以被嵌入到字節(jié)碼中。Java虛擬機(jī)可以保留注解內(nèi)容,在運(yùn)行時(shí)可以獲取到注解內(nèi)容。

內(nèi)置注解

Java定義了一套注解,共有7個(gè),3個(gè)在java.lang中,剩下4個(gè)在java.lang.annotation中。

1.作用在代碼的注解是:

  • @Override - 檢查該方法是否是重寫方法。如果發(fā)現(xiàn)其父類,或者是引用的接口中并沒有該方法時(shí),會(huì)報(bào)編譯錯(cuò)誤。
  • @Deprecated - 標(biāo)記過時(shí)方法。如果使用該方法,會(huì)報(bào)編譯警告。
  • @SuppressWarnings - 指示編譯器去忽略注解中聲明的警告。

2.作用在其他注解的注解(或者說元注解)是:

  • @Retention - 標(biāo)識(shí)這個(gè)注解怎么保存,是只在代碼中,還是編入class文件中,或者是在運(yùn)行時(shí)可以通過反射訪問。
  • @Documented - 標(biāo)記這些注解是否包含在用戶文檔中。
  • @Target - 標(biāo)記這個(gè)注解應(yīng)該是哪種Java成員。
  • @Inherited - 標(biāo)記這個(gè)注解是繼承于哪個(gè)注解類(默認(rèn)注解并沒有繼承于任何子類)

3.從Java 7開始,額外添加了3個(gè)注解:

  • @SafeVarargs - Java 7開始支持,忽略任何使用參數(shù)為泛型變量的方法或構(gòu)造函數(shù)調(diào)用產(chǎn)生的警告。
  • @FunctionalInterface - Java 8開始支持,標(biāo)識(shí)一個(gè)匿名函數(shù)或函數(shù)式接口。
  • @Repeatable - Java 8開始支持,標(biāo)識(shí)某注解可以在同一個(gè)聲明上使用多次。

元注解

元注解就是上面說到的作用在其他注解上的注解。

1.@Retention:表明該注解的生命周期

生命周期類型描述
RetentionPolicy.SOURCE標(biāo)記的注釋僅保留在源級(jí)別中,并由編譯器忽略。
RetentionPolicy.CLASS標(biāo)記的注釋在編譯時(shí)由編譯器保留,但Java虛擬機(jī)(JVM)會(huì)忽略。
RetentionPolicy.RUNTIME標(biāo)記的注釋由JVM保留,因此運(yùn)行時(shí)環(huán)境可以使用它。

2.@Documented:表明該注解標(biāo)記的元素可以被Javadoc或類似的工具文檔化

3.@Target: 表明該注解可以應(yīng)用的java元素類型

Target類型描述
ElementType.TYPE可以應(yīng)用于類的任何元素。
ElementType.FIELD可以應(yīng)用于字段或?qū)傩浴?/td>
ElementType.METHOD可以應(yīng)用于方法級(jí)注釋。
ElementType.PARAMETER可以應(yīng)用于方法的參數(shù)。
ElementType.CONSTRUCTOR可以應(yīng)用于構(gòu)造函數(shù)。
ElementType.LOCAL_VARIABLE可以應(yīng)用于局部變量。
ElementType.ANNOTATION_TYPE可以應(yīng)用于注釋類型。
ElementType.PACKAGE可以應(yīng)用于包聲明。
ElementType.TYPE_PARAMETER1.8版本新增,應(yīng)用于類型變量
ElementType.TYPE_USE1.8版本新增,應(yīng)用于任何使用類型的語(yǔ)句中(例如聲明語(yǔ)句、泛型和強(qiáng)制轉(zhuǎn)換語(yǔ)句中的類型)

4.@Inherited:表明使用了@Inherited注解的注解,所標(biāo)記的類的子類也會(huì)擁有這個(gè)注解

5.@Repeatable:Java SE 8中引入的,@Repeatable注釋表明標(biāo)記的注釋可以多次應(yīng)用于相同的聲明或類型使用(即可以重復(fù)在同一個(gè)類、方法、屬性等上使用)。

自定義注解

其實(shí)說了這么多,都是一些總結(jié)性的知識(shí)點(diǎn),我敢說到現(xiàn)在,大家還是對(duì)注解是云里霧里的。想要更好的認(rèn)識(shí)注解,只有我們自己定義一個(gè)注解,來實(shí)現(xiàn)一個(gè)我們的注解,通過實(shí)現(xiàn)一個(gè)我們自己的注解來熟悉注解的工作流程。

Java中自定義注解和創(chuàng)建一個(gè)接口相似,聲明一個(gè)注解要用到以下東西:

  • 修飾符:訪問修飾符必須為public,不寫默認(rèn)為pubic;
  • 關(guān)鍵字:關(guān)鍵字為@interface;
  • 注解名稱:注解名稱為自定義注解的名稱,使用時(shí)還會(huì)用到;
  • 注解類型元素:注解類型元素是注解中內(nèi)容,可以理解成自定義接口的實(shí)現(xiàn)部分。

同時(shí)需要注意以下事項(xiàng):

  • 注解方法不能有參數(shù);
  • 注解方法的返回類型局限于原始類型,字符串,枚舉,注解,或以上類型構(gòu)成的數(shù)組;
  • 注解方法可以包含默認(rèn)值;
  • 注解可以包含與其綁定的元注解,元注解為注解提供信息。

規(guī)則知道了,下面我來編碼實(shí)現(xiàn)一個(gè)自定義的注解。比如我們?cè)趯?shí)現(xiàn)一個(gè)自定義的ORM框架的時(shí)候,都會(huì)通過注解來實(shí)現(xiàn)數(shù)據(jù)表名與JAVA類的映射,表字段與JAVA類字段的映射關(guān)系,下面就來簡(jiǎn)單實(shí)現(xiàn)這個(gè)功能。

定義Table注解:

package com.jellythink.annotation;

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

@Target(value={ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Table {
   String value();
}

分享文章:Java注解的使用方法-創(chuàng)新互聯(lián)
瀏覽路徑:http://weahome.cn/article/dossid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部