浅谈Java枚举的作用与好处
当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。前面我们已经知道enum提供了toString,valueOf等方法,很多时候我们都需要覆载默认的toString方法,那么对于enum我们怎么做呢。其实这和覆载一个普通class的toString方法没有什么区别。这时我们可以看到,此时再用前面的遍历代码打印出来的是而不是可以看到toString确实是被覆载了。这里我们为每一个颜色提供了一个说明信息, 然后定义了一个构造函数接受这个说明信息。要注意这里构造函数不能为public或者protected, 从而保证构造函数只能在内部使用,客户代码不能new一个枚举值的实例出来。这也是完全符合情理的,因为我们知道枚举值是public static final的常量而已。这样,我们前面覆载 toString的例子可以被改写成这样。
用户评论