注解:是元数据的一种形式,它不是程序的一部分,是描述程序的信息;用于提供信息给编译器、编译和部署时处理以及运行时处理。
注解的格式:
- @Name
- @Name(value)
- @Name(param1=value1, param2=value2, ...)
- Java SE 8支持重复注解
注解的声明:(我们可以看出注解的内容是有类型的)
@Documented //注解默认不用于JavaDoc,此注解说明在JavaDoc中显示定义的注解
@interface AnnotationsName {
String author();
int currentRevision() default 1;
String lastModified() default "N/A";
String[] reviewers();
}
使用:
@AnnotationsName (
author = "my name",
currentRevision = 5,
lastModified = "your name",
reviewers = {"Alice", "Bob", "Cindy"}
)
public class AnnTest extends Goon {
// class code
}
预先定义的注解类型:
@Deprecated //不赞成、废弃
@Override //重写
@SuppressWarnings //抑制警告,值有两个@SuppressWarnings({"unchecked", "deprecation"})
@SafeVarargs
@FunctionalInterface
@Retention //注解如何存储,RetentionPolicy.SOURCE,RetentionPolicy.CLASS,RetentionPolicy.RUNTIME
@Documented //注解用于Javadoc
@Target
ElementType.ANNOTATION
ElementType.CONSTRUCTOR
ElementType.FIELD
ElementType.LOCAL_VARIABLE
ElementType.METHOD
ElementType.PACKAGE
ElementType.PARAMETER
ElementType.TYPE
@Inherited //从父类继承注解
@Repeatable //注解可重复
什么?注解的作用、定义、使用和常用注解。