黑马程序员 陈希然
假使我们要做一个黑马教师管理的系统,那老师是不是只能是在黑马里面任职的,假使老师只有“张孝祥,黎活明,方立勋,冯威,徐培成”这些,那么除了他们就再不能出现别的老师名字了,因为我们黑马的老师就只有他们,所以这些老师是不是都是固定的而且不能有多余的其他的老师名字,这时我们就可以用枚举来限定这些老师。
枚举里面的每个值就是这个枚举的对象,由于这些值默认的是public static final的,而且构造器也是private的,这样是不是就限定了我们的取值只能是这几个,因为我们不能再创建新的对象(构造器是private的)和改变已创建的对象(因为有final限制了);
这是定义的黑马教师枚举,到这里大家是不是想说:诶,我想看的是我们中文的名字,你怎么给我弄成了英语;确实,我也不喜欢老外的东西,可是大家定义变量名都是用英语的,为了不让别人看扁我们,所以我们也要用英文来定义变量赶潮流;那么我们要怎么得到中文名字呢?这里就是接下来要讲的枚举数据封装了....
这就是我们封装了数据后的代码,竟然我们封装了这个数据,那要怎样用它来表示我们的中文名字和打印出来呢?请看下面代码....
EnumerationDemo类是用来测试枚举的;大家觉得上面这样的赋值代码好吗?不好,我觉得烂透了,我认为写程序应该做到强内聚,尤其是对于枚举而言;因为一般枚举我们都是在它的枚举类里面先为每个属性赋值,在外面的话就用这个枚举来做检查,所以我就把枚举改为了下面的代码....