本文已参与[新人创作礼]活动,一起开启掘金创作之路.
- 注解,或者叫做注释,英文单词是:Annotation
- 注解Annotation是一种引用数据类型,编译之后也是生成xxx.class文件。
- 如何自定义注解?
[修饰符列表] @interface 注解类型名{
}
- 注解使用时的语法格式是:@注解类型名
- 注解可以出现在类上、属性上、方法上、变量上、注解类型等上
- java中常用的注解
@Deprecated注释的程序元素,表示已过时,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。
@Override表示一个方法声明打算重写超类中的另一个方法声明。
@suppresswarnings指示应该在注释元素(以及包含在该注释元素中的所有程序元索)中取消显示指定的编译器警告。
@Target 用来标注"被标注的注解"可以出现在哪些位置上。
比如@Target(ElementType .AETHOD)表示被该注解标注的注解只能用在方法上
@Retention注解用来标注"被标注的注解"最终保存在哪里。
比如Retention(RetentionPolicy.SOURCE):表示该注解只被保留在java源文件中。
比如@Retention(RetentionPolicy.CLASS):表示该注解被保存在class文件中
比如@Retention (RetentionPolicy.RUNTIME):表示该注解被保存在class文件中,并且可以被反射机制读取。
- 如果一个注解中有属性,在使用时必须为其赋值,除非该属性使用default修饰,代表有默认值。
- 注解中的属性看着有点像其他类中的方法头,如String name()。
- 如果注解中有value属性, 并且其他属性都有默认值, 则使用注解时可以省略value不写. 即不用写value=什么, 直接在括号中写上参数值即可.
- 元注解:即注解注解的注解, 说白了就是一个注解, 但是这个注解可以用在注解上.向上面提到的@target注解和@tetention注解都是元注解.