[JavaSE]->{注記と反射04}-->カスタム注記

6828 ワード

カスタム注記


前に書いてあります:このブログはノートの勉強にしか使いません.
  • @interfaceカスタム注釈を使用するとjavaが自動的に継承されます.lang.annotation.Annotationインタフェース
  • 分析:
  • @interfaceコメントを宣言するために使用されます.フォーマット:public@interfaceコメント名{定義内容}
  • の各方法は、実際には構成パラメータを宣言する.
  • メソッドの名前がパラメータの名前である.
  • の戻り値タイプはパラメータのタイプである(戻り値は基本タイプ、Class、String、enumのみ).
  • は、defaultによってパラメータのデフォルト値を宣言することができる.
  • パラメータメンバーが1つしかない場合、一般的なパラメータ名はvalueです.
  • 注記要素には値が必要です.注記要素を定義するときは、デフォルト値として空の文字列がよく使用されます.

  • import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    /**
     * @ClassName: Test3
     * @Description: // 
     * @Author: sniper-zx
     * @Version: 1.0
     **/
    // 
    public class Test3 {
        //  /  
        @DiyAnnotation2(age = 19,name = "Tokm", id = 1,schools = {" "})
        public void test1(){
    
        }
        @DiyAnnotation3(value = "Hi,nice to meet you!")
        public void test2(){
    
        }
    
    }
    
    // , {}
    @Target(value = {ElementType.METHOD})
    // 
    @Retention(value = RetentionPolicy.RUNTIME)
    @interface DiyAnnotation2{
    //        ( ) 
        String name() default "";
        int age() default 19;
        int id() default  -1;//String indexOf("abc") -1 ,  , 
        String[] schools() default {" "," "," "};
    }
    
    @Target(value = {ElementType.METHOD})
    @Retention(value = RetentionPolicy.RUNTIME)
    @interface DiyAnnotation3{
    //     , value 
        String value();
    }
    

    後に書きます:参考資料:【狂神説Java】注釈と反射