• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

自定义注解

开发技术 开发技术 4小时前 1次浏览

如何定义注解

  1. @interface定义注解
public @interface MyAnnotation{

}
  1. 添加参数 默认值
@interface MyAnnotation1 {
    // 参数命名  参数类型 + 参数名称 ()

    // name字段 String类型 默认值为 wwbao 可以自定义
    String name() default "wwbao";

    // age字段 int类型 默认值 0 可以自定义
    int age() default 0;

    // scores字段 String 数组类型 没有默认值
    String[] scores();
}
  1. 用元注解配置自定义注解
package com.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@MyAnnotation1(name = "yyll",age = 20,scores = {"语文90","100"})
public class Demo03 {
}


@Target({ElementType.TYPE, ElementType.METHOD}) // 该注解只能在类或者接口 或者方法上使用
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation1 {
    // 参数命名  参数类型 + 参数名称 ()

    // name字段 String类型 默认值为 wwbao 可以自定义
    String name() default "wwbao";

    // age字段 int类型 默认值 0 可以自定义
    int age() default 0;

    // scores字段 String 数组类型 没有默认值
    String[] scores();
}

小结

  1. 利用@interface来定义注解
  2. 可以定义多个参数和默认值 核心参数用value
  3. 必须设置@Target来指定Annotation可以应用的范围;
  4. 应当设置@Retention(RetentionPolicy.RUNTIME)便于运行期读取该Annotation
  5. 如果@Retention不存在,则该Annotation默认为CLASS

程序员灯塔
转载请注明原文链接:自定义注解
喜欢 (0)