java annotation

定義一個annotationcode

/*
 * @interface用來定義註解,註解不能繼承其餘的註解或接口。註解中的每個方法其實是聲明瞭一個配置參數。方法的名稱就是參數的名稱,
 * 返回值類型就是參數的類型(返回值類型只能是基本類型、Class、String、enum)。能夠經過default來聲明參數的默認值。
 */

/**
 * @Target 用於描述註解的使用範圍(即:被描述的註解能夠用在什麼地方)
 * ElementType.CONSTRUCTOR		用於描述構造器
 * ElementType.FIELD			用於描述域
 * ElementType.LOCAL_VARIABLE	用於描述局部變量
 * ElementType.METHOD			用於描述方法
 * ElementType.PACKAGE			用於描述包
 * ElementType.PARAMETER		用於描述參數
 * ElementType.TYPE				用於描述類、接口(包括註解類型) 或enum聲明
 */
/**
 * @Retention  表示須要在什麼級別保存該註釋信息,用於描述註解的生命週期(即:被描述的註解在什麼範圍內有效)
 * RetentionPolicy.SOURCE			在源文件中有效(即源文件保留)
 * RetentionPolicy.CLASS			在class文件中有效(即class保留)
 * RetentionPolicy.RUNTIME			在運行時有效(即運行時保留)
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Annotation {
	public String value() default "默認值";		//定義一個類型爲String的參數,名叫value
}

取得annotation註釋對象

public class AnnotationTest {
	
	@MethodAnnotation(value="myMethod 的方法",name="myMethod方法")
	public void myMethod(){}
	
}

如上在myMethod方法中取得MethodAnnotation對象繼承

AnnotationTest test = new AnnotationTest();
	Method method =  test.getClass().getMethod("myMethod", null);
	MethodAnnotation methodAnnotation = method.getAnnotation(MethodAnnotation.class);
相關文章
相關標籤/搜索