定义Marker Annotation,也就是Annotation名称本身即提供信息于对程序分析工具来说,主要是检查是否有Marker Annotaion的出现,并作出对应的动作。
1.       定义简单的Annotation
public @interface AnnotationTest{
}

 

使用:
public class AnnotationUsage{
        @AnnotationTest
        public void method(){
       System.out.println(“test”);
}
              }
      
2.       有一个值的Annotation
public @interface AnnotationTest{
        String value();
}

 

使用:
@AnnotationTest(“hello world”)
public class AnnotationUsage{
        public void method(){
               System.out.println(“test”);
}
}
默认值的字段名为value

 

       3.指定一个值的名称的Annotation
public @interface AnnotationTest{
        String value1();
}

 

使用:
@AnnotationTest(value1=“hello world”)
public class AnnotationUsage{
        public void method(){
               System.out.println(“test”);
}
}

 

4.  多个参数的Annotation
public @interface AnnotationTest{
        String[] value();
}

 

使用:
@AnnotationTest(value={“hello world”,”wangsy”,”welcome”})
public class AnnotationUsage{
        public void method(){
               System.out.println(“test”);
}
}

 

       5. 指定多个值的名称的Annotation
public @interface AnnotationTest{
        String[] value1();
}

 

使用:
@AnnotationTest(value1={“hello world”,”wangsy”,”welcome”})
public class AnnotationUsage{
        public void method(){
               System.out.println(“test”);
}
}
      
       6.  指定默认值
           public @interface AnnotationTest{
       String value() default “wangsy”;
}

 

使用:
@AnnotationTest
@AnnotationTest(“hello”)
都可以

 

7.        枚举在Annotation中的应用
enum EnumTest{Hello,World,Welcome;}
public @interface Annotation Test{
        EnumTest value1() default EnumTest.Hello;
}

 

使用:
@AnnotationTest(value1=EnumTest.Hello)
@AnnotationTest
都可以

 

       使用@interface自行定义Annotation型态时,实际上是自动继承了java.lang.annotation.Annotation接口。