一、注解
1.什么是注解
注解是对程序进行标注和解释
2.常用注解
- @Override 描述子类重写父类的方法
 - @Deprecated 描述此方法已过时
 - @SuppressWarnings 压制警告
 
3.图解

4.注解与注释的区别
- 注解:给编译器看的,让虚拟机知道程序的特殊功能
 - 注释:给程序员看的
 
二、自定义注解
1.格式
public @interface 注解名称{
public 属性类型 属性名 () default 默认值;
}
其中public,default 默认值都可以省去。
(注:若注解里没有指定默认值,在使用注解时,就要手动给出注解属性的设置值)
2.代码示例
public @interface annotationDemo_01 {
    //定义一个基本类型的属性
    int a () default  23;
    //定义一个String类型的属性
    public String name();
    //定义一个Class类型的属性
    public Class clazz() default annotationDemo_02.class;
    //定义一个注解类型的属性
    public annotationDemo_02 anno() default @annotationDemo_02;
    //定义一个枚举类型的属性
    public Season season() default  Season.SPRING;
    //一维数组:
    //int数组
    public int [] arr() default {1,2,3,4,5,6};
    //枚举数组
    public  Season[] seasons() default {Season.SPRING,Season.SUMMER};
}
 
//在使用注解时,注解里若没有指定默认值,就要手动给出注解属性的设置值
@annotationDemo_01(name="张三")
public class annotationDemo_03 {
}
 
3.特殊属性value
如果只需要给注解的value属性赋值,可以不写value=“”,直接赋值
//如果只需要给注解的value属性赋值,可以不写value,直接赋值,不用写value="001"
@annotationDemo_01("001")
public class annotationDemo_03 {
}
 
三、元注解
1.元注解
元注解就是注解的注解
2.常用的元注解











![[Spring Boot 5]安全管理](https://img-blog.csdnimg.cn/b5117085acbb4d6d811e4de48fa44d78.png)





![[Flask]Flask零基础项目---登录demo](https://img-blog.csdnimg.cn/7c054f28a5b343a7a091126b6288d278.png)


