這篇文章主要介紹了java 自訂註解的實例詳解的相關資料,需要的朋友可以參考下
java 自訂註解的實例詳解
#Java的Annotation是在5.0版本之後引入的,可以用於建立文檔,追蹤程式碼中的依賴性,並且可以執行編譯時期檢查。註解就是給虛擬機器看的,代表程式的一些特殊的功能。 JDK中提供了@Override,@SuppressWarning,@Deprecated三種註解,當讓還有元註解,@Target,@Retention,@Documented,@Inherited,元註解的作用負責註解其它註解。
想要了解註解,就要了解自訂註解,了解是透過反射來實現的。
首先,我們先自訂一個註解,
@Retention(value=RetentionPolicy.RUNTIME) public @interface MyTest { }
接著再寫一個測試demo
public class AnnotationDemo1 { @MyTest public void demo1(){ System.out.println("方法1..."); } @MyTest public void demo2(){ System.out.println("方法2..."); } @Test public void demo3(){ System.out.println("方法3..."); }
最後要讓AnnotationDemo1中所有帶有Mytest註解的方法運行,接下來是運行類別
public class DemoRunner { public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException { //获得测试类的class Class clazz=AnnotationDemo1.class; //获得class中的所有的方法 Method[] mothods=clazz.getMethods(); //遍历每个方法, for(Method method:mothods){ boolean flag = method.isAnnotationPresent(MyTest.class); System.out.println(flag); if(flag){ // 说明方法上有MyTest注解: method.invoke(clazz.newInstance(), null); } } } }
最後測試就能輸出方法1...和方法2了...,這樣也就簡單實作自訂註解了。
以上是Java自訂註解的具體介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!