java注解-笔记
厚脸皮精神~~
1.在编写代码时,除了源程序以外,我们还会使用Javadoc标签对类、方法或成员变量进行注释,以便使用Javadoc工具生成和源代码配套的Javadoc文档。
2.注解是代码的附属信息,它遵循一个基本原则:注解不能直接干扰程序代码的运行,无论增加或删除注解,代码都能够正常运行。Java语言解释器会忽略这些注解,而由第三方工具负责对注解进行处理。
3.java内置了三种注解,定义在java.lang包中
@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。
@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上。 //单词是 过时的
@SuppressWarnings:表示关闭一些不当的编译器警告信息。
4.注解定义包含四个元注解,分别为@Target,@Retention,@Documented,@Inherited。
1) @Target 表示该注解用于什么地方
2) @Retention 表示在什么级别保存该注解信息 //保留,保持,维持
3) @Documented 将此注解包含在 javadoc 中
4) @Inherited 允许子类继承父类中的注解
5.使用注解
@Description(value="使用注解的实例")
public class TestAnnotation {
}
使用注解的语法:@<注解名>(<成员名1>=<成员值1>,<成员名1>=<成员值1>,...)
如果成员是数组类型,可以通过{}进行赋值,如boolean数组的成员可以设置为{true,false,true}
1) 多成员的注解
@AnnoExample(id= 2868724, synopsis = "Enable time-travel", engineer = "Mr. Peabody")
2) 一个成员的注解,成员名为value
可以省略成员名和赋值符号:
@Copyright("Right Reserved")
@Copyright("2011 bookegou.com All Right Reserved")
3) 无成员的注解
@Override
@Override
4) 成员为字符串数组的注解
@SuppressWarnings(value={"unchecked","fallthrough"})
@SuppressWarnings(value={"unchecked","fallthrough"})
5) 成员为注解数组类型的注解
@Reviews({@Review(grade=Review.Grade.EXCELLENT,reviewer="df"),
@Review(grade=Review.Grade.UNSATISFACTORY,reviewer="eg",
comment="This method needs an @Override annotation")})