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中文網!