对Java注解(Annotation)初步的认识
2011-09-10 13:00
417 查看
----------------------android培训、java培训、期待与您交流! ----------------------
为注解增加属性
例如:
color()方法就是注解的属性,他要求应用这个注解的类上的注解提供一个String类型的返回值。
比如:
有些注解的属性在应用的时候可以不写属性和“=”,比如只写value属性的时候
比如:
还可以为属性指定缺省值:
如果不指定color()缺省@AnnotationTest()中既不能省略value=,也不能省略color="";
为注解增加高级属性
数组属性
如果数组的属性值只有一个时,赋值时可以省略大括号
枚举属性
----------------------android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
为注解增加属性
例如:
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { String color(); }
color()方法就是注解的属性,他要求应用这个注解的类上的注解提供一个String类型的返回值。
比如:
@AnnotationTest(color ="red") publicclass TestAnnotation { publicstaticvoid main(String[] args) { if(TestAnnotation.class.isAnnotationPresent((AnnotationTest.class))){ AnnotationTest test = (AnnotationTest)TestAnnotation.class.getAnnotation(AnnotationTest.class); System.out.println(test.color()); } } }
有些注解的属性在应用的时候可以不写属性和“=”,比如只写value属性的时候
比如:
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { String value(); } @AnnotationTest("red") publicclass TestAnnotation { publicstaticvoid main(String[] args) { if(TestAnnotation.class.isAnnotationPresent((AnnotationTest.class))){ AnnotationTest test = (AnnotationTest)TestAnnotation.class.getAnnotation(AnnotationTest.class); System.out.println(test.value()); } } }
还可以为属性指定缺省值:
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { String color() default"blue"; String value(); } @AnnotationTest("red") publicclass TestAnnotation { publicstaticvoid main(String[] args) { if(TestAnnotation.class.isAnnotationPresent((AnnotationTest.class))){ AnnotationTest test = (AnnotationTest)TestAnnotation.class.getAnnotation(AnnotationTest.class); System.out.println(test.color()); System.out.println(test.value()); } } }
如果不指定color()缺省@AnnotationTest()中既不能省略value=,也不能省略color="";
为注解增加高级属性
数组属性
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { int[] intArray(); } @AnnotationTest(intArray={1,2,3}) publicclass TestAnnotation { publicstaticvoid main(String[] args) { if(TestAnnotation.class.isAnnotationPresent((AnnotationTest.class))){ AnnotationTest test = (AnnotationTest)TestAnnotation.class.getAnnotation(AnnotationTest.class); for(int i:test.intArray()){ System.out.println(i); } } } }
如果数组的属性值只有一个时,赋值时可以省略大括号
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { int[] intArray(); } @AnnotationTest(intArray={1,2,3}) publicclass TestAnnotation { publicstaticvoid main(String[] args) { if(TestAnnotation.class.isAnnotationPresent((AnnotationTest.class))){ AnnotationTest test = (AnnotationTest)TestAnnotation.class.getAnnotation(AnnotationTest.class); for(int i:test.intArray()){ System.out.println(i); } } } }
枚举属性
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface AnnotationTest { enum color{red,blue} color value(); } @AnnotationTest(color.red) publicclass TestAnnotation {}
----------------------android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 对Java注解(Annotation)初步的认识
- java反射机制初步认识<三>注解(Annotation)的使用
- 【从零学Java】——认识Annotation注解
- 深入理解Java:注解(Annotation)自定义注解入门
- java之初涉注解(Annotation)
- Java注解 Annotation
- 深入理解Java:注解(Annotation)自定义注解入门
- JAVA注解 Annotation
- Java中三种常见的注释(注解) Annotation
- 深入理解Java:注解(Annotation)自定义注解入门
- Java系列(一)Annotation(注解)
- java 注解Annotation
- JAVA注解Annotation
- Java注解annotation : invalid type of annotation member
- annotation注解详解java
- Java 基础之认识 Annotation
- 深入理解Java:注解(Annotation)自定义注解入门
- java javax.annotation.Resource注解的详解
- java注解初步学习
- [2]注解(Annotation)-- 深入理解Java:注解(Annotation)自定义注解入门