Java 枚举类、注解

枚举类

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

如何定义

方式 1 自定义
public class EnumTest {
    public static void main(String[] args) {
        Season spring = Season.SPRING;
        
        System.out.println(spring);
    }
}

class Season {
    private final String name;
    private final String detail;

    private Season(String name, String detail) {
        this.name = name;
        this.detail = detail;
    }

    public final static Season SPRING = new Season("春天", "开始变暖了");
    public final static Season SUMMER = new Season("夏天", "开始变热了");
    public final static Season AUTUMN = new Season("秋天", "开始变凉了");
    public final static Season WINTER = new Season("冬天", "开始变冷了");

    public String getName() {
        return name;
    }

    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", detail='" + detail + '\'' +
                '}';
    }

}
方式 2 使用enum
enum  Season1 {
    SPRING("春天", "开始变暖了"),
    SUMMER("夏天", "开始变热了"),
    AUTUMN("秋天", "开始变凉了"),
    WINTER("冬天", "开始变冷了");

    private final String name;
    private final String detail;

    private Season1(String name, String detail) {
        this.name = name;
        this.detail = detail;
    }

    @Override
    public String toString() {
        return super.toString();
    }
}

注意:在这里插入图片描述
Enum类重写了toString方法,输出的是变量名。

常用方法

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

enum 实现接口

在这里插入图片描述

public class EnumTest {
    public static void main(String[] args) {
        Season1 winter = Season1.WINTER;

        System.out.println(winter);
        winter.show();

        Season1 summer = Season1.valueOf("SUMMER");
        summer.show();
    }
}

interface Show{
    void show();
}

enum  Season1 implements Show{
    SPRING("春天", "开始变暖了"){
        public void show() {
            System.out.println("我是春天");
        }
    },
    SUMMER("夏天", "开始变热了"){
        public void show() {
            System.out.println("我是夏天");
        }
    },
    AUTUMN("秋天", "开始变凉了"){
        public void show() {
            System.out.println("我是秋天");
        }
    },
    WINTER("冬天", "开始变冷了"){
        public void show() {
            System.out.println("我是冬天");
        }
    };

    private final String name;
    private final String detail;

    private Season1(String name, String detail) {
        this.name = name;
        this.detail = detail;
    }

    @Override
    public String toString() {
        return super.toString();
    }
}

Annotation 注解

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

自定义注解

在这里插入图片描述
https://www.bilibili.com/video/BV1Kb411W75N?p=507

元注解

https://www.bilibili.com/video/BV1Kb411W75N?p=508

等后面学到反射的时候再详细的看吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值