枚举类型的总结

枚举(enum)是指将一个集合中的所有可能的元素逐一列举出来的过程。

1. 定义

枚举是一种特殊的数据类型,用于表示一组命名的常量。这些常量通常代表相关的值或状态。

关键字:enum

2. 特征

  • 命名常量:每个枚举成员都有一个唯一的名称,通常是描述性的。
  • 整型值:在许多编程语言中,枚举成员通常被分配一个整数值。
  • 有限性:枚举中的常量数量是有限的,可以明确列出。
public enum Color {  
    RED, GREEN, BLUE;  
}

不需要提供setX方法,因为枚举对象值通常为只读。

②对枚举对象/属性使用 final+static 共同修饰,实现底层优化。

枚举对象名通常使用全部大写,常量的命名规范。

④枚举对象根据需要,也可以有多个属性。

自定义枚举类型:

①构造器私有化

②本类内部创建一组对象[四个 春夏秋冬]

③对外暴露对象(通过为对象添加 public final static 修饰符)

④可以提供get方法,但是不需要提供set

通过自定义类实现枚举可以对上面代码进行简化,如下:

如果有多个对象(常量),使用逗号隔开,放在首行

如果我们使用的是无参构造器,创建的常量对象,则可以省略()。

练习1:

代码:

 public static void main(String[] args) {
        //获取所有对象,即数组
        Person[] values = Person.values();
        for (Person v:values) {
            System.out.println(v);
        }
 }
@SuppressWarnings("all")
enum Person{
    MONDAY("星期一"),TUESDAY("星期二"),WEDNESDAY("星期三"),
    THURSDAY("星期四"),FRIDAY("星期五"),SATURDAY("星期六"),SUNDAY("星期日");
private String name;
    Person(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return  name ;
    }
}

输出结果为:

枚举练习2:

代码:

enum Color implements color{
    RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),
    YELLOW(255,255,0),GREEN(0,255,0);
    private  int redValue;
    private  int greenValue;
    private  int blueValue;

    Color(int redValue, int greenValue, int blueValue) {
        this.redValue = redValue;
        this.greenValue = greenValue;
        this.blueValue = blueValue;
    }

    @Override
    public void show() {
        System.out.println("属性值为:"+redValue+","+greenValue+","+blueValue);
    }
}
interface color{
    public void show();

}

实现类:

   public static void main(String[] args) {
        Color blue = Color.YELLOW;
        blue.show();
switch (blue){
    case RED:
        System.out.println("匹配的红色");
        break;
    case YELLOW:
        System.out.println("匹配的黄色");
        break;
    case GREEN:
        System.out.println("匹配的绿色");
        break;
    case BLACK:
        System.out.println("匹配的黑色");
        break;
    case BLUE:
        System.out.println("匹配的蓝色");
        break;
    default:
        System.out.println("没有匹配到");
}
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒心岛初晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值