day77:注解、自定义注解、元注解

一、注解

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.常用的元注解

经验分享 程序员 微信小程序 职场和发展