【Java基础篇】枚举与注解

枚举类的使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自定义枚举类

class Season{
    private final String SEASONNAME;//季节的名称
    private final String SEASONDESC;//季节的描述
    private Season(String seasonName,String seasonDesc){
        this.SEASONNAME = seasonName;
        this.SEASONDESC = seasonDesc; 
    }
    public static final Season SPRING = new Season("春天", "春暖花开");
    public static final Season SUMMER = new Season("夏天", "夏日炎炎");
    public static final Season AUTUMN = new Season("秋天", "秋高气爽");
    public static final Season WINTER = new Season("冬天", "白雪皑皑");
}

使用enum定义枚举类

在这里插入图片描述

public enum SeasonEnum {
    SPRING("春天","春风又绿江南岸"),
    SUMMER("夏天","映日荷花别样红"),
    AUTUMN("秋天","秋水共长天一色"),
    WINTER("冬天","窗含西岭千秋雪");
    private final String seasonName;
    private final String seasonDesc;
    private SeasonEnum(String seasonName, String seasonDesc) {
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc; 
    }
    public String getSeasonName() {
        return seasonName; 
    }
    public String getSeasonDesc() {
        return seasonDesc; 
    } 
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注解(Annotation)

在这里插入图片描述

一定程度上说:框架=注解 + 反射 + 设计模式

自定义注解

在这里插入图片描述

@MyAnnotation(value = "java注解")
public class MyAnnotationTest {
    public static void main(String[] args) {
        Class clazz = MyAnnotationTest.class;
        Annotation a = clazz.getAnnotation(MyAnnotation.class);
        MyAnnotation m = (MyAnnotation) a;
        String info = m.value();
        System.out.println(info);
    }
}

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface MyAnnotation {
    String value() default "java Annotation";
}

JDK中的元注解

在这里插入图片描述

@Retention

在这里插入图片描述

@Target

在这里插入图片描述

@Documented和@Inherited

在这里插入图片描述

利用反射获取注解信息

在这里插入图片描述

JDK8中注解的新特性

在这里插入图片描述

 

参考:

 

posted @ 2021-12-21 23:32  残城碎梦  阅读(36)  评论(0编辑  收藏  举报