溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java類中有注解的原因

發(fā)布時間:2020-10-27 10:26:05 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)java類中有注解的原因,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

從JDK5開始,Java增加對元數(shù)據(jù)的支持,也就是注解,注解與注釋是有一定區(qū)別的,可以把注解理解為代碼里的特殊標(biāo)記,這些標(biāo)記可以在編譯,類加載,運行時被讀取,并執(zhí)行相應(yīng)的處理。通過注解開發(fā)人員可以在不改變原有代碼和邏輯的情況下在源代碼中嵌入補(bǔ)充信息。

什么是注解

注解,可以看作是對 一個 類/方法 的一個擴(kuò)展的模版,每個 類/方法 按照注解類中的規(guī)則,來為 類/方法 注解不同的參數(shù),在用到的地方可以得到不同的 類/方法 中注解的各種參數(shù)與值

注解也就是Annotation,相信不少人也和我之前一樣以為和注釋和doc一樣,是一段輔助性的文字,其實注解不是這樣的。

從JDK5開始,java增加了對元數(shù)據(jù)(描述數(shù)據(jù)屬性的信息)的支持。其實說白就是代碼里的特殊標(biāo)志,這些標(biāo)志可以在編譯,類加載,運行時被讀取,并執(zhí)行相應(yīng)的處理,以便于其他工具補(bǔ)充信息或者進(jìn)行部署。

Annotation(注解)它可以用于創(chuàng)建文檔,跟蹤代碼中的依賴性,甚至執(zhí)行基本編譯時檢查。從某些方面看,annotation就像修飾符一樣被使用,并應(yīng)用于包、類 型、構(gòu)造方法、方法、成員變量、參數(shù)、本地變量的聲明中。這些信息被存儲在Annotation的“name=value”結(jié)構(gòu)對中。
Annotation的成員在Annotation類型中以無參數(shù)的方法的形式被聲明。其方法名和返回值定義了該成員的名字和類型。

在此有一個特定的默認(rèn)語法:

允許聲明任何Annotation成員的默認(rèn)值:一個Annotation可以將name=value對作為沒有定義默認(rèn)值的Annotation成員的值,當(dāng)然也可以使用name=value對來覆蓋其它成員默認(rèn)值。這一點有些近似類的繼承特性,父類的構(gòu)造函數(shù)可以作為子類的默認(rèn)構(gòu)造函數(shù),但是也可以被子類覆蓋。
Annotation能被用來為某個程序元素(類、方法、成員變量等)關(guān)聯(lián)任何的信息。

需要注意的是,這里存在著一個基本的規(guī)則:

Annotation不能影響程序代碼的執(zhí)行,無論增加、刪除 Annotation,代碼都始終如一的執(zhí)行。

另外,盡管一些annotation通過java的反射api方法在運行時被訪問,而java語言解釋器在工作時忽略了這些annotation。正是由于java虛擬機(jī)忽略了Annotation,導(dǎo)致了annotation類型在代碼中是“不起作用”的;

只有通過某種配套的工具才會對annotation類型中的信息進(jìn)行訪問和處理。

注解的意義
為編譯器提供輔助信息 — Annotations可以為編譯器提供而外信息,以便于檢測錯誤,抑制警告等.
編譯源代碼時進(jìn)行而外操作 — 軟件工具可以通過處理Annotation信息來生成原代碼,xml文件等等.
運行時處理 — 有一些annotation甚至可以在程序運行時被檢測,使用.
總之,注解是一種元數(shù)據(jù),起到了”描述,配置“的作用。

關(guān)于java類中有注解的原因就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI