这是对注释的定义: package cn.itcast.day2; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD,ElementType.TYPE}) public @interface ItcastAnnotation { String color() default "blue"; String value(); } 这是对注释的打印 package cn.itcast.day2; @ItcastAnnotation(color="red",value="abc") public class AnnotationTest { /** * @param args */
@ItcastAnnotation("xyz") public static void main(String[] args)throws Exception { // TODO Auto-generated method stub
if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){ ItcastAnnotation annotation=(ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class); System.out.println(annotation.color()); System.out.println(annotation.value()); }}
下面打印注释里面的value值 我一开始赋值是“abc”,在方法里赋值“xyz”,为什么打印的是abc 而不是xyz?难道在方法里面的赋值不能写到注释里?既然不能写到注释了那为什么有没有报错? 求懂得解释一下。
|