1、注解( Annotation父接口)
1: 什么是注解:
就是注释,这个注释有点特点,在java中在类、方法、变量等等之上
通过@+英文单词表示的就是某种注解信息。该注解信息是源码、编译期、运行期都存在的,意味着可以获取。
2:注解分类:
a.元注解: 用来注解 注解的注解
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}): 用来声明当前注解能够定义在哪里
该注解可以用于什么地方:
TYPE | 类、接口(包括注解类型)或enum声明 |
FIELD | 域声明(包括enum实例) |
METHOD | 方法声明 |
PARAMETER | 参数声明 |
CONSTRUCTOR | 构造器的声明 |
LOCAL_VARIABLE | 局部变量声明 |
@Retention:用来声明当前注解的生命周期
什么级别保存该注解信息:
SOURCE | 注解将被编译器丢弃 |
RUNTIME | JVM将在运行期间保留注解,因此可以通过反射机制读取注解的信息。 |
CLASS | 注解在class文件中可用,但会被JVM丢弃 |
@Document
将注解包含在Javadoc中
@Inherited
允许子类继承父类中的注解
b. 内置注解: jdk中已经存在的一些注解
@Override: 用来判定该注解只能应用在方法上面 当前方法是否是重写方法,表示当前的方法定义将覆盖超类中的方法。
@SuppressWarnings("all") :抑制警告 "" 编写抑制何种警告。注解中可以存在值
@Deprecated :标示当前方法已经过时
c. 自定义注解