使用@interface自定义注解,自动继承了java.lang.annotation.Annotation接口
@interface用来声明一个注解,格式:public @interface 注解名{...}
其中每一个方法实际上是声明了一个配置参数
方法的名称就是参数的名称
返回值类型就是参数的类型(返回值只能是class,string,enum)
通过default来声明参数的默认值
只有一个参数成员,一般参数名为value,因此在注解里面可以省略(value)
注解元素必须要有值,经常使用空字符串,0作为默认值
public class test03 { //注解可以显示赋值,没有默认值必须赋值 @MyAnotation public void test() { } } //使用范围 @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnotation{ ///注解的参数:参数类型+参数名() String name() default ""; int age() default 0; int id() default -1; //默认值为-1,代表找不到 String[] shcools() default {"清华","华科"}; } //单个值 @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnotation2{ String value() default ""; }