首页 > 代码库 > 枚举类.
枚举类.
文件名:EnumDemo.java
设置员工休息日期的一个类. 看上去没有什么问题,但是休息的时间用的是int类型来表示,并且if/else的范围没有固定,使得安全性非常差.
就算在Setday中输入12也会得出结果周一到周五休息,没有考虑到安全性.其二问题是业务表达不明确, 没有确切的说明1是指星期一,在美国第一天是
星期天,解决这个方法专门去构建1个类Weekday,里面存放 业务表达明确,但是数据仍然是用int表示.所以仍然存在安全性的问题.
解决这一问题用封装思想,不用int类型. 改用自创的Weekday.
但是这样并不能解决问题,以为在任何地方都可以new出来新的Weekday(),所以要做到安全性最高,需要将Weekday构造器进行私有化处理. 以为如果要继续new出东西就需要重新用到构造器,将构造器私有化处理就相当于不能再下面自己私自的new Weekday()
Week.XXX static修饰的用类名.引用名称来调用. MONDAY TUESDAY....是引用名.
枚举类.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。