A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈兆辉 中级黑马   /  2014-9-23 10:43  /  969 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

注解
注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有这种标记,以后,java编译器、
开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的是。标记可以
加在包、类、字段、方法、方法的参数以及局部变量上。
看java.lang包,可以看到JDK中提供的最基本的annotation。

@SuppressWarning():去掉编译时的警告(注意)
@Deprecater:下面的方法已过时
@Override:下面的方法是复写方法,如果复写出错,会提示。

元注解
@Retention,三种取值:RetentionPolicy.SOURCE、RetentionPolicy.CLASS、RetentionPolicy.RUNTIME,
分别对应:java源文件-->class文件-->内存中的字节码。default to RetentionPolicy.CLASS
@Target:该注解可以放在什么位置:TYPE(类型)、METHOD(方法)、FIELD(字段)、LOCAL_VARIABLE(局部变量)、
PACKAGE(包)、PARAMENTER(形式参数)、ANNOTATION_TYPE(注解)、CONSTRUCTOR(构造方法)

Interface Type:1.5以后出现的接口,是Class、Interface、Enum、Annotation等类的父接口。

为注解添加高级属性
1、数组类型的属性:
int[] arrayAttr() default{1,2,3};
@MyAnnotation(arrayAttr = {4,6,7});
注:如果数组属性只有一个元素,这时属性部分可以省略大括号
2、枚举类型的属性
EnumTest.TrafficLamp lamp();
@MyAnnotation(lamp=EnumTest.TrafficLamp.GREEN)
3、注解类型的属性
MetaAnnotation annotationAttr() default @MetaAnnotation("xxx");
@MyAnnotation(annotationAttr = @MetaAnnotation("xxxx"));

3 个回复

倒序浏览
发到blog不行?
回复 使用道具 举报
加油!!一起努力哈!!
回复 使用道具 举报
学习了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马