什么是java注解?
java注解相当于一个标签,可以让我们对于所写的类、方法和属性赋予一个特殊的业务意义。就是java注解的机制。例如:商店里商品的标签,标识了商品的价格。注解的意义和标签的意义是一样的。
接口类的关键字是@interface
例如:public @interface MyAnnotation{ }
JDK本身自带的部分注解作用如下:
(JDK提供的注解叫元注解)
@Override: 重写父类的方法
@SuppressWarnings: 在编码阶段不去检查语法是否有问题
@Retention: 让我们声明自定义注解的作用的有效范围,一般用在自定义注解或者其他注解上面, 作用范围包括: 编码阶段、编译阶段和运行阶段。这个注解是使用自定义注解的一个必不可少的元注解。
例如:
编译时有效:@Retention(RetentionPolicy.CLASS)
运行时有效:@Retention(RetentionPolicy.RUNTIME)
编码时有效:@Retention(RetentionPolicy.SOURCE)
@Target: 指定声明自定义注解的作用对象,是作用在类上面、属性上面还是方法上面。这个注解是使用自定义注解的一个必不可少的元注解。
例如:
@Target(ElementType.ANNOTATION_TYPE):只能使用在其他注解上面
@Target(ElementType. TYPE):作用对象是类和接口
@Target(ElementType. METHOD):作用对象是方法
@Target(ElementType. FIELD):作用对象是属性
@Target(ElementType. PARAMETER):作用对象是方法参数(写在方法参数之前。例如:@ MyAnnotation int x)
@Target(ElementType. CONSTRUCTOR):作用对象是构造方法
@Target(ElementType. LOCAL_VARIABLE):作用对象是本地变量
@Target(ElementType. PACKAGE):作用对象是包
@Inherited: 表示使用了这个注解的父类,它的所有子类都能继承使用父类的注解
@Documented: 文档注释,在javadoc生成java文档的时候会将注解说明也带过去