java枚举enum详解
程序员文章站
2022-03-20 17:46:50
...
枚举类型还是有必要的,以前没有的时候,都是通过定义静态常量,主要就是为了防止硬编码。
枚举类型要注意,可以写构造方法,但是构造方法必须要用private修饰,其实想想就知道为什么要private了,既然都用枚举了,当然不能让你随便new一个对象出来了,不然还要枚举做什么。
下面是示例代码:
public enum WordType { V("v") { @Override public String toString() { return "sb"; } }, VT("vt") { @Override public String type() { return "me too"; } }; public String type() { return type; } private WordType(String type) { this.type = type; } private String type; @Override public String toString() { return type; } }
注意的地方就是,枚举出了构造方法必须私有,对象按开头那种方式写以外,其他都和普通java类一样,可以有方法,可以有成员变量,可以在对象后面加个花括号来覆盖某个方法。
下面是测试代码:
public class EnumTest { public static void main(String[] args) { System.out.println(WordType.V);// sb System.out.println(WordType.V.type());// v System.out.println(WordType.VT);// vt System.out.println(WordType.VT.type());// me too } }
推荐阅读