1、注解入门
注释(Comment):给人看的
注解(Annotation):给程序看的,被其他程序读取,例如反射
可以在包、类、方法、字段上面使用,添加了额外的辅助信息
作用:检查方法是否符合要求
2、内置注解
@Override - 重写的注解,只适用于修饰方法
@Deprecated - 不推荐使用的类、方法或属性,但可以使用
@SuppressWarnings(“all”) - 抑制所有警告,需要有入参all、unchecked、deprecation
3、元注解
@Target(value = {ElementType.METHOD,ElementType.TYPE}) - 表示我们的注解可以用在那些地方
ANNOTATION_TYPE:注解类型
CONSTRUCTOR:构造函数
FIELD:类的属性
LOCAL_VARIABLE:局部变量
METHOD:方法
PACKAGE:包
PARAMETER:方法的参数
TYPE:类
@Retention(value = RetentionPolicy.RUNTIME) - 表示我们的注解在什么地方有效,runtime>class>sources,一般用runtime
@Documented - 表示是否将我们的注解生成在Java Doc中
@Inherited - 子类可以继承父类的注解
主要关注前两个注解
4、自定义注解
使用@interface自定义注解时,自动继承Annotation接口
@interface用来声明一个注解,格式:public @interface 注解名{定义内容}
可以使用default声明参数的默认值
只有一个参数成员,参数名为value
定义注解时经常使用空字符串或0作为默认值
定义注解方法的名称就是参数的名称