注解的定义类似于接口,比较简单。要注意接口中的定义的是成员变量,并非抽象方法。编写接口时,需要注意以下几点:
- 声明注解的关键字是@interface,位置与接口关键字一样。
- 注解内部定义成员变量类似于抽象方法:类型 成员名称();
- 可以为成员变量指定默认值。
- 没有成员变量的注解为一个标识注解。
- 自定义一个注解:
public @interface MyAnnotation {
String [] values();
int number();
}
- 测试代码:
import org.junit.jupiter.api.Test;
public class AnnotationTest1 {
@Test
@MyAnnotation(values = {"value1", "value2"}, number = 10)
public void test1(){
}
}
这里把@MyAnnotation注解在了测试方法上,并且为注释的成员变量赋了初值。运行测试用例,测试通过,也没有什么输出或其他变化。注解结合反射才能发挥其最大的作用。