1. 继续上一讲内容,上一讲的内容讲到自定义注解。
package com.ahuier.annotation;
public @interface AnnotationTest {
//注意不要忘记小括号
//这边给他定义注解信息为默认值,则在AnnotationTest中注解时候,@AnnotationTest()参数默认为hello,如果有设值就按设定的值注解
String value() default "hello";
EnumTest value2(); //枚举也可以做为注解的值
}
enum EnumTest{
Hello, World, Welcome;
}
package com.ahuier.annotation;
/*
* @AnnotationTest(value = "hello") 与 @AnnotationTest("hello")都可以,前提是定义的注解里面必须是 value 值
*/
@AnnotationTest(value2 = EnumTest.Welcome)
public class AnnotationUsage {
@AnnotationTest(value = "hello", value2 = EnumTest.World)
public void method(){
System.out.println("usage of annotation");
}
public static void main(String[] args) {
AnnotationUsage usage = new AnnotationUsage();
usage.method();
}
}
【说明】:Single-value annotiong: value成员设定默认值,用"default"关键词。当然注解也可以用数组形式来设置值。
2. 学习完以上两个程序之后,这两个程序是基于上一讲自定义注解内容所讲的,现在我们要做一些实际的注解的例子。
自定义Annotation类型,使用@interface自行定义Annotation型态时候,实际上是自动继承了java.lang.annotation.Annotation接口,由编译程序自动为您完成其它产生的细节,在定义Annotation型态时,不能继承