我们都知道java为枚举类型提供了一些内置的方法,但是,要知道的是枚举常量也可以有自己的方法,下面一起来了解一下吧。
这个时候一定要注意,必须在枚举实例的最后一个成员后添加分号,并且,必须先定义枚举实例。
示例:
来看一下下面的示例:
创建一个枚举类型WeekDay,在这个类型当中,添加了自定义的方法:
enum WeekDay { Mon("Monday"), Tue("Tuesday"), Wed("Wednesday"), Thu("Thursday"), Fri("Friday"), Sat("Saturday"), Sun("Sunday"); // 以上是枚举的成员,必须先定义,而且使用分号结束 private final String day; private WeekDay(String day) { this.day = day; } public static void printDay(int i) { switch (i) { case 1: System.out.println(WeekDay.Mon); break; case 2: System.out.println(WeekDay.Tue); break; case 3: System.out.println(WeekDay.Wed); break; case 4: System.out.println(WeekDay.Thu); break; case 5: System.out.println(WeekDay.Fri); break; case 6: System.out.println(WeekDay.Sat); break; case 7: System.out.println(WeekDay.Sun); break; default: System.out.println("wrong number!"); } } public String getDay() { return day; } }
上面的代码当中,创建了WeekDay枚举类型,下面遍历这个枚举当中的所有成员,并且,调用printDay()方法。
示例代码:
public static void main(String[] args) { for (WeekDay day: WeekDay.values()) { System.out.println(day + "====>" + day.getDay()); } WeekDay.printDay(5); }
输出结果:
Mon====>Monday Tue====>Tuesday Wed====>Wednesday Thu====>Thursday Fri====>Friday Sat====>Saturday Sun====>Sunday Fri
Java当中的enum还能够跟Class类一样覆盖基类的方法。
下面的示例当中,创建的Color枚举类型覆盖了toString()方法:
public class Test { public enum Color { RED("红色", 1), GREEN("绿色", 2), WHITE("白色", 3), YELLOW("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 覆盖方法 @Override public String toString() { return this.index + "-" + this.name; } } public static void main(String[] args) { System.out.println(Color.RED.toString()); // 输出:1-红色 } }
上面的内容就给你介绍到这里,更多java枚举常见问题,可以继续的通过奇Q工具网来进行了解哦。
推荐阅读: