首頁  >  文章  >  Java  >  java自訂註解介面實作方案

java自訂註解介面實作方案

高洛峰
高洛峰原創
2017-01-23 15:26:551869瀏覽

java註解是附加在程式碼中的一些元訊息,用於一些工具在編譯、執行時進行解析和使用,起到說明、配置的功能。 
註解不會也不能影響程式碼的實際邏輯,只起到輔助性的作用。包含在 java.lang.annotation 套件中。 
1、元註解 
元註解是指註解的註解。包括 @Retention @Target @Document @Inherited四種。
1.1、@Retention: 定義註解的保留策略 
Java程式碼 

@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 
@Retention(RetentionPolicy.CLASS) //默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得, 
@Retention(RetentionPolicy.RUNTIME)//注解会在class字节码文件中存在,在运行时可以通过反射获取到

1.2、@Target:定義註解的作用目標 
Java程式碼 

@Target(ElementType.TYPE) //接口、类、枚举、注解 
@Target(ElementType.FIELD) //字段、枚举的常量 
@Target(ElementType.METHOD) //方法 
@Target(ElementType.PARAMETER) //方法参数 
@Target(ElementType.CONSTRUCTOR) //构造函数 
@Target(ElementType.LOCAL_VARIABLE)//局部变量 
@Target(ElementType.ANNOTATION_TYPE)//注解 
@Target(ElementType.PACKAGE) ///包

elementType 可以有多個,一個註解的可以是類別的,一個註解的,欄位的的等等 
1.3、@Document:說明該註解將被包含在javadoc中 
1.4、@Inherited:說明子類別可以繼承父類別中的該註解 
下面是自訂註解的一個例子 
2、註解的自訂的自訂註解定義 
Java程式碼 

@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.METHOD) 
public @interface HelloWorld { 
public String name() default ""; 
}

3、註解的使用,測試類別 
Java程式碼 

public class SayHello { 
@HelloWorld(name = " 小明 ") 
public void sayHello(String name) { 
System.out.println(name + "say hello world!"); 
}//www.heatpress123.net 
}

4、解析註解 
java註解介面實作方案相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn