黑马程序员技术交流社区
标题: 关于注释里的值的覆写与打印的问题 [打印本页]
作者: 苏伯亚 时间: 2014-4-1 09:33
标题: 关于注释里的值的覆写与打印的问题
这是对注释的定义:
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?难道在方法里面的赋值不能写到注释里?既然不能写到注释了那为什么有没有报错?
求懂得解释一下。
作者: osully 时间: 2014-4-1 09:43
AnnotationTest.class.getAnnotation 是这个字节码文件的注释
如果要方法的,去调用method的getAnnotation吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |