您好,登錄后才能下訂單哦!
這篇“Java中的三種標準注解和四種元注解是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java中的三種標準注解和四種元注解是什么”文章吧。
注解(也被稱為元數據)為我們在代碼中添加信息提供了一種形式化的方法,使我們可以在稍后某個時刻非常方便地使用這些數據。
注解的語法比較簡單,除了@符號的使用之外,它基本與Java固有的語法一致。
@Override
:表示當前的方法定義將覆蓋超類中的方法。如果你不小心拼寫錯誤,或者方法簽名對不上被覆蓋的方法,編譯器就會發出錯誤提示。
@Deprecated
:如果程序員使用了注解為它的元素,那么編譯器會發出警告信息。
@SuppressWarnings
:關閉不當的編譯器警告信息。在java SE5之前的版本中,也可以使用該注解,不過會被忽略不起作用。
我們來看一下注解@Test的定義:
定義注解時,會需要一些元注解(meta-annotation),如@Target和@Retention。
@Target
用來定義你的注解將應用于什么地方(例如是一個方法或者一個域)。
@Retention
用來定義該注解在哪一個級別可用,在源代碼中(SOURCE)、類文件中(CLASS)或者運行時(RUNTIME)。
@Target
表示該注解用于什么地方,可能的值在枚舉類 ElemenetType 中,包括:
ElemenetType.CONSTRUCTOR
構造器聲明
ElemenetType.FIELD
域聲明(包括 enum 實例)
ElemenetType.LOCAL_VARIABLE
局部變量聲明
ElemenetType.METHOD
方法聲明
ElemenetType.PACKAGE
包聲明
ElemenetType.PARAMETER
參數聲明
ElemenetType.TYPE
類,接口(包括注解類型)或enum聲明
@Retention
表示在什么級別保存該注解信息。可選的參數值在枚舉類型 RetentionPolicy 中,包括:
RetentionPolicy.SOURCE
注解將被編譯器丟棄
RetentionPolicy.CLASS
注解在class文件中可用,但會被VM丟棄
RetentionPolicy.RUNTIME
VM將在運行期也保留注釋,因此可以通過反射機制讀取注解的信息。
@Documented
將此注解包含在 javadoc 中 ,它代表著此注解會被javadoc工具提取成文檔。在doc文檔中的內容會因為此注解的信息內容不同而不同。相當與@see,@param 等。
@Inherited
允許子類繼承父類中的注解。
@Target
表示這個注解可以用在什么地方
@Retention
表示我們的注解在什么地方還有效(runtime>class>sources)
@Documented
表示是否將我們的注解生成在javaDoc中
@Inherited
子類可以繼承父類的注解
package com.epoch.customproject.utils; import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented public @interface DataSource { String value() default "dataSourceMdm"; }
public class test { @Myobject2(age = 18) public void test1(){ } @Myobject("默認") public void test2(){ } } @Target(value = {ElementType.TYPE,ElementType.METHOD}) @Retention(value = RetentionPolicy.RUNTIME) @interface Myobject{ //只有一個參數,所以傳一個值就行 @Myobject("默認") String value(); } @Target(value = {ElementType.TYPE,ElementType.METHOD}) @Retention(value = RetentionPolicy.RUNTIME) @interface Myobject2{ // @Myobject2(age = 18) 其他參數不用傳的原因是給過默認值 //注釋的參數 參數類型 參數名() String name() default "默認名字"; int age() ; double height() default -1;//如果默認值-1,代表不存在 String[] school() default {"默認學校1","默認學校2"}; }
以上就是關于“Java中的三種標準注解和四種元注解是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。