枚举
1.枚举类定义
package com.cj.java5; public class EnumTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); } } enum Season{ SPRING("春天","春暖花开"), SUMMER("夏天","烈日炎炎"); private final String seasonName; private final String seasonDesc; Season(String seasonName, String seasonDesc) { this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } }
结果:SPRING
以前的定义方式:
package com.cj.java5; public class EnumTest1 { public static void main(String[] args) { Season1 spring = Season1.SPRING; System.out.println(spring); } } class Season1{ private final String seasonName; private final String seasonDesc; public static final Season1 SPRING = new Season1("春天","春暖花开"); public static final Season1 SUMMER = new Season1("夏天","烈日炎炎"); public Season1(String seasonName, String seasonDesc) { this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } }
结果:com.cj.java5.Season1@6d6f6e28
2.常用方法
public class EnumTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); //遍历 for (int i = 0; i < Season.values().length; i++) { System.out.println(Season.values()[i]); } //获取单个 Season summer = Season.valueOf("SUMMER"); System.out.println(summer); //toString System.out.println(summer.toString()); } }
3.类的继承
package com.cj.java5; /** * 三、常用方法 * values() * valueof() * toString() */ interface info{ void show(); } public class EnumTest { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); //遍历 for (int i = 0; i < Season.values().length; i++) { System.out.println(Season.values()[i]); } //获取单个 Season summer = Season.valueOf("SUMMER"); System.out.println(summer); //toString System.out.println(summer.toString()); summer.show(); } } enum Season implements info{ SPRING("春天","春暖花开"){ @Override public void show() { System.out.println("春天在哪里呀,春天在哪里呀"); } }, SUMMER("夏天","烈日炎炎"){ @Override public void show() { System.out.println("夏天夏天悄悄过去,留下小秘密"); } }; private final String seasonName; private final String seasonDesc; Season(String seasonName, String seasonDesc) { this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } }