delphi listview 如果确定勾选了哪个复选框_枚举虽小,五脏俱全——如果面试官突然问你枚举,你会懵吗?...

a14d274b62704c288ec3b244df5d5bcc.png

一、什么是枚举

1.1 什么是枚举?

至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举,其实它们的意义很相似。
谈到生活中的枚举,假如我们在玩掷骰子的游戏,在我们手中有两个骰子,要求掷出两个骰子的点数和必须大于6的概率,那么在此情此景,我们就需要使用枚举法一一列举出骰子点数的所有可能,然后根据列举出来的可能,求出概率。
可能有的小伙伴发现,这就是数学啊?这就是数学中的概率学和统计学。对,我们的枚举法就是常用于概率统计中的。

1.2 Java中的枚举类

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug,方便很多场景使用。
Java架构度寒冬​zhuanlan.zhihu.com
c0527cd0ee06148602a592f1387bf148.png
需要更多Java面试资料和学习干货可以关注我的专栏【Java架构度寒冬】本专栏会长期更新java架构技术以及心得等精彩文章!

二、Java枚举的语法

枚举类中的声明

访问修辞符 enum 枚举名 {
    枚举成员,
    枚举成员,
    ...
};

class类中枚举的声明

访问修饰符 class 类名 {
    enum 枚举名 {
        枚举成员,
        枚举成员,
        ...
    }
}

三、Java枚举类的使用规则和应用场景

3.1 Java枚举类的使用规则

至于枚举你也有所了解了,Java中的枚举也是一样的。而Java中枚举类的使用,也有特定的规则和场景。如果你看了以下的规则不明白的话,没有关系,继续向下学你就会明白,因为我在下面都会有讲解到这些规则。如下几个规则: 类的对象是确定的有限个数。 当需要定义一组常量时,建议使用枚举。 如果枚举类中只有一个对象,则可以作为单例模式的实现方法。 枚举类不能被继承 枚举类不能被单独的new创建对象 枚举类中的枚举成员是用,隔开的,多个枚举成员之间用_隔开 如果枚举类中的只有一个或多个枚举成员,其他什么都没有,我们在用,隔开的同时。最后可以省略;结束符。 注意: 如果关于枚举单例设计模式不太了解的小伙伴可以参考 深度学习单例设计模式一文,你肯定会有意想不到收获,请相信我!

3.2 Java枚举类的应用场景

根据Java中使用枚举类的规则,有以下几种场景适合来使用枚举类,如下: 星期: Monday(星期一)、Tuesday(星期二)、Wednesday(星期三)、Thursday(星期四)、Firday(星期五)、Saturday(星期六)、Sunday(星期日) 性别: Man(男)、Woman(女) 季节: Spring(春天)、Summer(夏天)、Autumn(秋天)、Winter(冬天) 支付方式: Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡) 订单状态: Nonpayment(未付款)、Paid(已付款)、Fulfilled(已配货)、Delivered(已发货)、Return(退货)、Checked(已确认) 线程状态: Establish(创建)、Ready(就绪)、Run(运行)、Obstruct(阻塞)、Die(死亡) 等等......

四、枚举类的基本使用步骤解析

那我们就解释以下这两个规则,我们在上述中已经了解了枚举的作用。Java中枚举也不例外,也是一一列举出来方便我们拿出来一个或多个使用。这有点像我们的多选框,我们把需要用到的所有选项内容放在各个多选框后面,当我们在使用的时候只需要勾选自己需要的勾选框即可,这就代表了我们需要被选中多选框后面的内容。

那么,Java中的枚举类是如何使用呢?

这里我们简单的模拟一个场景,假设你的女朋友十分的喜欢喝点冷饮或热奶茶之类的饮品,在生活中也有很多像蜜雪冰城等等这种类型的饮品店。当你为女朋友买她爱喝的珍珠奶茶时,服务员会问你,要大杯、中杯还是小杯的。当然,为了满足女朋友,你通常会选择大杯。这就意味着店内不允许顾客点规则外的饮品。

注意: 如果你是初学者或是不了解枚举类的使用,此基本使用不懂没有关系,请继续往下看即可!

于是,我用Java代码来实现一下,上述场景。

首先,创建枚举类。分别为珍珠奶茶添加大、中、小杯杯型。

package com.mylifes1110.java;

/**
 * @ClassName PearlMilkTea
 * @Description 为珍珠奶茶添加三个杯型:大、中、小
 * @Author Ziph
 * @Date 2020/6/8
 * @Since 1.8
 */
public enum PearlMilkTea {
    //注意:这里枚举类中只有枚举成员,我在此省略了;结束符
    SMALL, MEDIUM, LARGE
}

其次,创建珍珠奶茶对象,再有方法来判断枚举类中的大、中、小杯。最后打印女朋友喝哪个杯型的珍珠奶茶!

package com.mylifes1110.test;

import com.mylifes1110.java.PearlMilkTea;

/**
 * @ClassName PearlMilkTeaTest
 * @Description 为女朋友买哪个杯型的珍珠奶茶(默认大杯)
 * @Author Ziph
 * @Date 2020/6/8
 * @Since 1.8
 */
public class PearlMilkTeaTest {
    public static void main(String[] args) {
        //创建大杯的珍珠奶茶对象
        PearlMilkTea pearlMilkTea = PearlMilkTea.LARGE;
        PearlMilkTeaTest.drinkSize(pearlMilkTea);
    }

    //判断为女朋友买哪个杯型的珍珠奶茶
    public static void drinkSize(PearlMilkTea pearlMilkTea) {
        if (pearlMilkTea == PearlMilkTea.LARGE) {
            System.out.println("我为女朋友买了一大杯珍珠奶茶!");
        } else if (pearlMilkTea == PearlMilkTea.MEDIUM) {
            System.out.println("我为女朋友买了一中杯珍珠奶茶!");
        } else 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值