@注解初步解析
基本注解:
@Overrid 检查该被注解的方法是否继承父类或者接口
-
如果有注解 覆盖方法的名字和父类方法名不同就报错
-
如果把注解删除就不会报错 Overrid注解就是一个规范
@Deprride 表示该方法已经过时了 不建议使用
@SuppressWarnings 压制警告
- 就是把编译软件的警告给压制下去 就是不警告
- 在里面我们要传参 我们一般传all
自定义注解:
-
语法:
-
public @interface 类名{}
-
基本原理:
-
原本:java文件
-
public @interface MyAnnot { }
-
class文件反编译的代码
-
public interface MyAnnot extends java.lang.annotation.Annotation { }
-
注解本质是接口 默认继承了 java.langannotation.Annotation的接口
-
接口可以定义的事物注解也可以定义相应的方法
-
要求
- 是基本数据类型
- String
- 枚举
- 注解
-
不能没有返回值
-
可以没有修饰类型
-
-
定义属性要赋值
-
如果想不赋值 就要先给默认的值:
-
用default来给默认的值
-
-
元注解
-
@Target : 描述作用的位置
-
Target的源代码
-
ElementType[] 里面是枚举类
-
调用方法:
-
-
@Retention : 描述保留的阶段
- @Retention(RetentionPolicy.RUNCIME)
- 当前注解会被保留到class文件中 并被jvm读取
- @Retention(RetentionPolicy.RUNCIME)
-
@ Documented : 描述是否被抽取到api中
-
@描述是否被子类继承
-
注解怎么样使用
留到class文件中 并被jvm读取 -
@ Documented : 描述是否被抽取到api中
-
@描述是否被子类继承
-
注解怎么样使用
-