编程语言
首页 > 编程语言> > JAVA学习笔记(九)——枚举类和注解

JAVA学习笔记(九)——枚举类和注解

作者:互联网

JAVA学习笔记(九)——枚举类和注解

1.枚举类

1.1 自定义枚举类

package Test1;

import javax.management.MBeanAttributeInfo;

public class SeasonTest {
    public static void main(String[] args) {
        Season spring = Season.SPRING;
        System.out.println(spring);
    }
}
//自定义枚举类
class Season{
    //1.声明Season对象的属性:private final
    private final String seasonName;
    private final String seasonDesc;

    //2.私有化类的构造器,并给对象属性初始化
    private Season(String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //3.提供当前枚举类的多个对象
    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("冬天","冰天雪地");

    //4.获取枚举类对象的属性
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }
    //5.提供toString方法
    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}

1.2 enum定义枚举类

enum Season1{
    //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾用";"结束
    SPRING("春天","春暖花开"),
    SUMMER("夏天","夏日炎炎"),
    AUTUMN("秋天","秋高气爽"),
    WINTER("冬天","冰天雪地");
    //2.声明属性
    private final String seasonName;
    private final String seasonDesc;
    //3.构造器
    Season1(String seasonName, String seasonDesc) {
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //4.其他诉求
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }
    @Override
    public String toString() {
        return "Season1{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}

1.3 Enum类的主要方法

在这里插入图片描述

1.4 实现接口的枚举类

情况一:实现接口,在enum类中实现抽象方法
情况二:让枚举类的对象分别实现接口中的抽象方法

2.注解

2.1 注解概述

2.2 常见注解

在这里插入图片描述
在这里插入图片描述

2.3 自定义注解

参照SuppressWarnings

1.注解声明为:@interface
2.内部定义成员,通常使用value表示
3.可以指定成员的默认值,使用default定义
4.如果自定义注解没有成员,表明是一个标识作用。

2.4 JDK中的元注解

元注解:
用于修饰其他注解定义
Retention:指定所修饰的Annotation的生命周期:SOURCE/CLASS(默认行为)/RUNTIME 只有声明为RUNTIME生命周期的注解,才能被反射获取。
Target:用于指定被修饰的注解能用于修饰那些程序元素
Documented:表示所修饰的注解在被javadoc解析时保留下来
Inherited:某类被Inherited修饰,则其子类也被Inherited注解

2.5 利用反射获取注解信息

2.6JDK8中注解的新特性

2.6.1 可重复注解

2.6.2 类型注解

标签:JAVA,String,Season,枚举,seasonName,seasonDesc,注解
来源: https://blog.csdn.net/weixin_45303372/article/details/117514974