java的注解介紹-創(chuàng)新互聯(lián)

自Java5.0版本引入注解之后,它就成為了Java平臺中非常重要的一部分。開發(fā)過程中,我們也時常在應用代碼中會看到諸如@Override,@Deprecated這樣的注解。那么什么是注解?下面給大家介紹一下。

創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新安企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設,新安網(wǎng)站改版等技術服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

什么是注解?

注解也叫元數(shù)據(jù),即一種描述數(shù)據(jù)的數(shù)據(jù)。注解是JDK1.5版本開始引入的一個特性,用于對代碼進行說明,可以對包、類、接口、字段、方法參數(shù)、局部變量等進行注解。

注解有什么用?

官方解釋:

注解是一系列元數(shù)據(jù),它提供數(shù)據(jù)用來解釋程序代碼,但是注解并非是所解釋的代碼本身的一部分。注解對于代碼的運行效果沒有直接影響。

1、提供信息給編譯器: 編譯器可以利用注解來探測錯誤和警告信息

比如 @Override提示子類要復寫父類中被 修飾的方法

2、編譯階段時的處理: 軟件工具可以用來利用注解信息來生成代碼、Html文檔或者做其它相應處理。

3、運行時的處理: 某些注解可以在程序運行的時候接受代碼的提取

注解主要針對的是編譯器和其它工具軟件;當開發(fā)者使用了Annotation 修飾了類、方法、Field 等成員之后,這些 Annotation 不會自己生效,必須由開發(fā)者提供相應的代碼來提取并處理 Annotation 信息。這些處理提取和處理 Annotation 的代碼統(tǒng)稱為 APT(Annotation Processing Tool)。

注解可分為三類:

 ● 一類是Java自帶的標準注解,包括@Override(標明重寫某個方法)、@Deprecated(標明某個類或方法過時)和@SuppressWarnings(標明要忽略的警告),使用這些注解后編譯器就會進行檢查。

 ● 一類為元注解,元注解是用于定義注解的注解,包括@Retention(標明注解被保留的階段)、@Target(標明注解使用的范圍)、@Inherited(標明注解可繼承)、@Documented(標明是否生成javadoc文檔)、@Repeatable。

 ● 一類為自定義注解,可以根據(jù)自己的需求定義注解

元注解

元注解是可以注解到注解上的注解,或者說元注解是一種基本注解,但是它能夠應用到其它的注解上面。明白點說,就是我們定義注解時用的注解就是元注解。

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
}

除了@符號,注解很像是一個接口。定義注解的時候需要用到元注解。

在注解中一般會有一些元素以表示某些值。注解的元素看起來就像接口的方法,唯一的區(qū)別在于可以為其制定默認值。沒有元素的注解稱為標記注解,上面的@Test就是一個標記注解。

注解的可用的類型包括以下幾種:所有基本類型、String、Class、enum、Annotation、以上類型的數(shù)組形式。元素不能有不確定的值,即要么有默認值,要么在使用注解的時候提供元素的值。而且元素不能使用null作為默認值。注解在只有一個元素且該元素的名稱是value的情況下,在使用注解的時候可以省略“value=”,直接寫需要的值即可。

元注解一共有5種, @Retention、@Documented、@Target、@Inherited、@Repeatable。

@Retention

英文意為保留期的意思。當 @Retention 應用到一個注解上的時候,它解釋說明了這個注解的的存活時間。

@Documented

這個元注解肯定是和文檔有關。它的作用是能夠將注解中的元素包含到 Javadoc 中去

@Target

目標的意思,@Target 指定了注解運用的地方

@Inherited

Inherited 是繼承的意思,但是它并不是說注解本身可以繼承,而是說如果一個超類被 @Inherited 注解過的注解進行注解的話,那么如果它的子類沒有被任何注解應用的話,那么這個子類就繼承了超類的注解

@Repeatable

Repeatable 自然是可重復的意思。@Repeatable 是 Java 1.8 才加進來的,所以算是一個新的特性。

以上就是什么是java注解?的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)其它相關文章!

分享題目:java的注解介紹-創(chuàng)新互聯(lián)
當前鏈接:http://www.bm7419.com/article10/dcdcgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名建站公司、網(wǎng)站導航、搜索引擎優(yōu)化、網(wǎng)頁設計公司、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司