enum - Java 枚举类型,一种特殊的类
enum(枚举) 是java一种特殊的类,其枚举值就像是该枚举类有且仅有的静态实例,通过“类名.枚举成员”得到实例,通过该实例可以访问其中的任何成员方法,就如同常规的类实例对像一样对方法的访问。枚举类可以有带参数的构造函数,此时枚举值后面需加括号并提供参数,就如同调用此构造函数传入参数将自己实例化。
如下面,TEST1(1,2) - TEST1是枚举值,同时又调用构造函数将自己构造出来提供使用。因此
EnumTest.TEST1 实例的 mult整型值就是2,
EnumTest.TEST2 实例的 mult整型值就是12,
EnumTest.TEST3 实例的 mult整型值就是30
public enum EnumTest { TEST1(1,2), TEST2(3,4), TEST3(5,6); private int mult; private EnumTest(int i,int j){ mult=i*j; } public void print(){ System.out.println(this.name() + " = "+mult); } public int toint(){ switch(this.name()){ case "TEST1": return this.mult; case "TEST2": return this.mult; case "TEST3": default: return this.mult; } } }
测试主类:
public class TEST { public static void main(String args[]){ EnumTest.TEST1.print(); EnumTest.TEST2.print(); EnumTest.TEST3.print(); EnumTest t1= EnumTest.TEST1; EnumTest t2= EnumTest.TEST2; EnumTest t3= EnumTest.TEST3; System.out.println(t1.toint()); System.out.println(t2.toint()); System.out.println(t3.toint()); } }