枚举类:枚举类的Field、方法、构造器
程序员文章站
2022-05-22 08:36:21
...
package org.lgy.study.enumstudy; public enum SeasonEnum{ //枚举类通过如下方式调用构造器 SPRING("春天", 3),SUMMER("夏天", 6),FALL("秋天", 9),WINTER("冬天", 12); //枚举类的实例是在该类的第一行显式指定的,但依然可以定义构造器,只是构造器被强制为private权限, //因此无法通过调用构造器来显示创建实例 SeasonEnum(String name,int mouth){ this.name = name; this.mouth = mouth; } //枚举类就像普通类一样可以定义(静态)成员变量、(静态)成员方法 //枚举类的成员变量、成员方法的调用方式和普通类一样 private String name; private int mouth; public static String str = "******"; public void info(){ System.out.println(this + ",代表" + name + ",始于" + mouth + "月。"); } public static void method1(){ System.out.println("------"); } }
package org.lgy.study.enumstudy; public class EnumTest{ public void judge(SeasonEnum season){ //switch语句里的表达式可以是byte short char int String 枚举类 //当switch控制表达式使用枚举类型时,后面case表达式中的值直接使用枚举值得名字,无须添加枚举类作为限定。 switch(season) { case SPRING: System.out.println("Spring..."); break; case SUMMER: System.out.println("Summer..."); break; case FALL: System.out.println("Fall..."); break; case WINTER: System.out.println("Winter..."); break; } } public static void main(String[] args){ System.out.println(SeasonEnum.str); SeasonEnum.method1(); for(SeasonEnum s : SeasonEnum.values()){ s.info(); } } }