注解的定义与反射调用

来源:互联网 发布:淘宝美工是什么意思 编辑:程序博客网 时间:2024/05/17 22:41

   现在很多框架都用到注解方式,比如Spring,Struts等等框架。JDK自带也有一些注解例如注释类型 @Override,@SuppressWarnings,@Deprecated等等

    那么注解是怎么定义以及用反射怎么调用呢

package javatribe.fts.annotation;@ItcastAnnotation(annotationAtt=@MetaAnnotation("ttttt"),color="red",value="abc",arrayAtt={4,5,6})public class AnnotationTest {/** * @param args */@SuppressWarnings("deprecation")@ItcastAnnotation("xxxx")public static void main(String[] args) {// TODO Auto-generated method stub        System.runFinalizersOnExit(true);        if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){        ItcastAnnotation annotation=(ItcastAnnotation) AnnotationTest.class.getAnnotation(ItcastAnnotation.class);            System.out.println(annotation.color());                              }   }//说明该方法已经过时,不建议使用@Deprecatedpublic static void sayHello(){System.out.println("hello,what are you want to do");}}

package javatribe.fts.annotation;import java.lang.annotation.*;//注解返回类型可以使字符串,数据,注解类型等等
//RetentionPolicy是枚举类型@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD,ElementType.TYPE})public @interface ItcastAnnotation {String color() default "blue";String value();int[] arrayAtt() default {1,2,3};MetaAnnotation annotationAtt() default @MetaAnnotation("abc");}

package javatribe.fts.annotation;public @interface MetaAnnotation {     String value();}




0 0
原创粉丝点击