格式:
public @interface 注解名 {
public 属性类型 属性名 () default 默认值; //如果不想给默认值,default可以省略
}
package anno; // 在使用注解的时候,如果注解里面的属性没有默认值,那么使用它的时候需要设置属性值,如果注解中只有value这一个属性没有设置默认值,在使用时可value可以省略不写,直接写值即可 @Annotation(name = "anno", seasons = {Season.SPRING, Season.WINTER}) public class AnnotationDemo { } /** * 自定义注解 */ public @interface Annotation { // 定义一个基本类型的属性 public int a() default 10; // 定义一个String类型的属性 public String name(); // 定义一个Class类型的属性 public Class clazz() default Student.class; // 定义一个注解类型的属性 public Anno anno() default @Anno; // 定义一个枚举类型的属性 public Season season() default Season.AUTUMN; // 定义一个以上类型的数组 // int数组 public int[] arr() default {1, 2, 3, 4, 5}; // 枚举数组 public Season[] seasons(); } public enum Season { SPRING,SUMMER,AUTUMN,WINTER; } public class Student { } public @interface Anno { }
标签:自定义,default,Season,使用,注解,默认值,public,属性 From: https://www.cnblogs.com/weiduaini/p/17230509.html