您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關java類中有注解的原因,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
從JDK5開始,Java增加對元數據的支持,也就是注解,注解與注釋是有一定區別的,可以把注解理解為代碼里的特殊標記,這些標記可以在編譯,類加載,運行時被讀取,并執行相應的處理。通過注解開發人員可以在不改變原有代碼和邏輯的情況下在源代碼中嵌入補充信息。
什么是注解
注解,可以看作是對 一個 類/方法 的一個擴展的模版,每個 類/方法 按照注解類中的規則,來為 類/方法 注解不同的參數,在用到的地方可以得到不同的 類/方法 中注解的各種參數與值
注解也就是Annotation,相信不少人也和我之前一樣以為和注釋和doc一樣,是一段輔助性的文字,其實注解不是這樣的。
從JDK5開始,java增加了對元數據(描述數據屬性的信息)的支持。其實說白就是代碼里的特殊標志,這些標志可以在編譯,類加載,運行時被讀取,并執行相應的處理,以便于其他工具補充信息或者進行部署。
Annotation(注解)它可以用于創建文檔,跟蹤代碼中的依賴性,甚至執行基本編譯時檢查。從某些方面看,annotation就像修飾符一樣被使用,并應用于包、類 型、構造方法、方法、成員變量、參數、本地變量的聲明中。這些信息被存儲在Annotation的“name=value”結構對中。
Annotation的成員在Annotation類型中以無參數的方法的形式被聲明。其方法名和返回值定義了該成員的名字和類型。
在此有一個特定的默認語法:
允許聲明任何Annotation成員的默認值:一個Annotation可以將name=value對作為沒有定義默認值的Annotation成員的值,當然也可以使用name=value對來覆蓋其它成員默認值。這一點有些近似類的繼承特性,父類的構造函數可以作為子類的默認構造函數,但是也可以被子類覆蓋。
Annotation能被用來為某個程序元素(類、方法、成員變量等)關聯任何的信息。
需要注意的是,這里存在著一個基本的規則:
Annotation不能影響程序代碼的執行,無論增加、刪除 Annotation,代碼都始終如一的執行。
另外,盡管一些annotation通過java的反射api方法在運行時被訪問,而java語言解釋器在工作時忽略了這些annotation。正是由于java虛擬機忽略了Annotation,導致了annotation類型在代碼中是“不起作用”的;
只有通過某種配套的工具才會對annotation類型中的信息進行訪問和處理。
注解的意義
為編譯器提供輔助信息 — Annotations可以為編譯器提供而外信息,以便于檢測錯誤,抑制警告等.
編譯源代碼時進行而外操作 — 軟件工具可以通過處理Annotation信息來生成原代碼,xml文件等等.
運行時處理 — 有一些annotation甚至可以在程序運行時被檢測,使用.
總之,注解是一種元數據,起到了”描述,配置“的作用。
關于java類中有注解的原因就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。