博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Java 基础]枚举的应用
阅读量:6209 次
发布时间:2019-06-21

本文共 1458 字,大约阅读时间需要 4 分钟。

hot3.png

Java中的枚举可以理解为一种特殊的类,类里面是可以有方法,有变量的。当声明一个枚举的时候,也可以有如上的类型, 我们也可以对枚举的权限进行声明。枚举的优点可以自定义数据类型,还可以限制用户的选择权。

我们举例声明出一个枚举,每周七天的枚举。

public enum weekend{ monday,tuesday,wensday,firday, thusday,satday,sunday;}

这样,我们可以使用增强FOR循环来遍历并输出:

public void show(){  weekend a[]=weekend.value;//value可以得到整个枚举集合的数组  a[]中为weekend中的所有元素。  for(weekend w:a){    System.out.println(w);  }}

如果需要将其转换成中文,可以中文转换。

public enum weekend{   monday("星期一")  ,tuesday("星期二")  ,wensday("星期三")  ,firday("星期五")  ,thusday("星期四")  ,satday("星期六")  ,sunday("星期日");  private String chnValue;  //每一个枚举中元素进行初始化的时候 都可以调用初始值对自己的chnValue进行赋值。  private weekend(String value){    this.chnValue=value;  }}

首先在枚举列表下面定义一个私有的变量,这样枚举中的每一个元素都有一个属性chnValue。枚举中被创建的时候,每一个枚举都会调用构造方法weekend。使之对其进行初始化。初始化时通过传入不同的值,从而对每一个枚举值进行赋值。

 如果,希望通过一个枚举英文星期,得到其中文日期,则我们可以通过调用一个方法来对其进行输入。由于我们要在没一个元素内都调用一次。并且每一次调用所返回的中文是不一样的。故考虑采用抽象方法加匿名类来实现。

例子

 public enum weekend{   monday("星期一")   {      public void showCHN(){       System.out.println(chnValue);      }      } //匿名类来实现枚举中的抽象方法  ,tuesday("星期二")  ,wensday("星期三")  ,firday("星期五")  ,thusday("星期四")  ,satday("星期六")  ,sunday("星期日");  private String chnValue;  //每一个枚举中元素进行初始化的时候 都可以调用初始值对自己的chnValue进行赋值。  private weekend(String value){    this.chnValue=value;  }  public abstract void showCHN();  //使用抽象类通过在每一个匿名类中的重载,来实现方法} 注意:为什么要对weekend 构造函数进行私有化, 答:保证外界无法通过调用构造函数再实例化出一个非法的枚举      同理 string 也要进行私有化,防止外界的非法更改。      !!!思考,用枚举怎样实现单例模式!!!

转载于:https://my.oschina.net/anyyang/blog/342132

你可能感兴趣的文章
Skype For Business 2015实战系列14:创建Office Web App服务器场
查看>>
lvs和HA的高可用性
查看>>
php中Session的生成机制、回收机制和存储机制探究
查看>>
不使用加减乘除实现加法
查看>>
win10不用第三方工具激活的方法
查看>>
6月份美国域名总量新增近5.4万个 环比减少51%
查看>>
mysql数据迁移
查看>>
Eclipse常用快捷键
查看>>
我的友情链接
查看>>
CentOS系统根目录组织结构
查看>>
LNMP里常见的502问题
查看>>
数据镜像备份工具rsync
查看>>
JSP被编译后的Serverlet
查看>>
cacti 忘记密码的方法
查看>>
Css3之基础-5 Css 背景、渐变属性
查看>>
使用/proc/meminfo文件查看内存状态信息
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
项目案例分享四:DC升级后Sysvol停止复制,日志报13508
查看>>
查询优化器内核剖析第四篇:从一个实例看执行计划
查看>>