自定义Annotion(注解)

mac2022-06-30  88

 

当时练习的时候直接写在了源代码中了,凑合看吧......

  /**   * 四个元注解   *   @Target 用于描述注解的使用范围,当多个值同时存在的时候也就意味着,使用的范围更多   *      value= ElementType.TYPE 意味着这个注解只能定义在类,接口,枚举上   *         ElementType.PACKAGE 意味着这个注解只能用于修饰包   *         ElementType.CONSTRUCTOR 意味着这个注解用于描述构造器(构造犯法)   *         ElementType.FIELD 意味着这个注解用于描述域   *         ElementType.METHOD 意味着这个注解只能定义在方法上   *         ElementType.LOCAL_VARLIABLE 意味着这个注解用于描述局部变量   *         ElementType.PARAMETER 意味着这个注解用于描述参数   *   @Retention 表示需要在什么级别保存该注释信息,用于描述注解的生命周期(保留策略)   *     value = RetentionPolicy.RUNTIME 在运行时有效(即运行时保留),Runtime可以被反射机制读取   *            RetentionPolicy.SOURCE 在源文件中有效(即源文件保留)   *         RetentionPolicy.CLASS 在字节码文件中有效(即class文件,即在class中保留)   *   @Documented   *   @Inherited   *   *注解本身并没有什么用,只有在解析时才有用   */  @Target(value={ElementType.METHOD,ElementType.PACKAGE,ElementType.TYPE,ElementType.CONSTRUCTOR})  public @interface MyAnnotion001 {   /**   * 注解的参数,代表这里需要一个String,默认值是"",如果不定义值的话会报错,需要default来给定一个默认值,一般当注解中只有一个参数名称为value;   * @return   */   //String name1 = "test"; //这种方式也是有用的   String value () default "";   //String[] name() default{};  }

转载于:https://www.cnblogs.com/hgfbk/p/10900333.html

最新回复(0)