wordpress企业免费主题下载,广州seo优化排名推广,网站推广费计入什么科目,贵阳网站开发外包公司目录 1. 什么是枚举#xff1f;
2. 枚举类
3. 枚举类的用途 1. 什么是枚举#xff1f;
我们可以从字面意思来理解#xff0c;枚#xff1a;一枚一枚的#xff0c;举#xff1a;举例#xff0c;举出#xff0c;将二者意思结合起来可以理解为一个一个的举出。
这样听…目录 1. 什么是枚举
2. 枚举类
3. 枚举类的用途 1. 什么是枚举
我们可以从字面意思来理解枚一枚一枚的举举例举出将二者意思结合起来可以理解为一个一个的举出。
这样听起来可能有些模糊我来给大家说一个场景。
例如我们定义一个月份类我们肯定已经确定了该类只有1~12月12个类对象不会再有别的对象了还有星期数只有周一~周日七个类对象不会有星期八这个对象吧。那么如果我们要将这几个对象全部列出来可以怎么做呢
首先我们想到的就是创建一个类然后有几个对象我们就 new 几个对象。 但是这样做有一个问题如果我们没有私有化它的构造器开发时不小心有人又创建了其他对象那岂不是很多余一个人多创建一个那么开发人多的时候创建的对象也会增多会不会很占用内存这样是很不友好的。如果我们在一开始就把这些类的对象提前创建出来并且不让外界再继续创建新的对象开发人员在有需要的时候直接拿这个类已经创建好的的对象直接使用是不是会更好。由此就引申出来了我们的枚举类。 2. 枚举类
在 Java 中除了我们平常所熟知的普通 Class 类它还专门为我们提供了一种枚举类 Eumn。该方法是在 JDK5 之后新增的一个功能在JDK5以前我们还需要自定义枚举类现在我们可以直接创建枚举类。
如下图所示在创建的时候它就会问你要创建什么类型的类这个界面大家都不陌生 对于我们开发人员来说最常用的是类和接口 其它的用的频率没有那么多我们在学习枚举类的时候其实可以把它当作普通的类来看待就可以了我先来创建一个空的枚举类如下代码。
// 定义一个季节枚举类
public enum Season {}
我们在创建好枚举类之后就可以开始定义它的对象了我现在定义了的是一个季节枚举类我们也都知道季节只有春夏秋冬四个所以我们就可以在这个枚举类里面定义四个对象分别对应春夏秋冬。
// 定义一个季节枚举类
public enum Season {// 定义春季spring,// 定义夏季summer,// 定义秋季autumn,// 定义冬季winter
} 这里有几个细节点需要注意
1在枚举类中每个对象前面都是默认添加 public static final 关键词修饰的public 可以被外界调用。static 静态的可以使用类名.变量名调用final 修饰不可被外界修改。
2每个对象之间使用 分隔开即可最后一个对象可以不写也可以写 结尾。
3枚举类中已经为各个对象重写了 toString 方法所以不需要我们再手动添加
在创建完成对象之后我们还可以为对象添加属性这里我给他们添加一个 name 属性在该枚举类中添加上构造方法
// 定义一个季节枚举类
public enum Season {// 定义春季spring(春),// 定义夏季summer(夏),// 定义秋季autumn(秋),// 定义冬季winter(冬);private String name;private Season(){}private Season(String name){this.name name;}
}
然乎我们来输出打印一下
创建 main 方法通过类名.方法名的方式调用即可咋控制台看到输出结果 3. 枚举类的用途
通过刚才的阐述我们也可以大致总结出枚举类的用途当一个类的对象是有限个数时我们就可以使用枚举类来定义。
在 Java 中多线程的状态便是采用的枚举类我们来看一下它的源码就可以得知
State 类就是 Thread 线程类中的一个内部枚举类里面定义了多个线程的状态例如NEWRUNNABLE等等就不一一说了。