黑马程序员_Java_枚举

---------------------------------------------------- android培训、java培训-------------期待与您交流! ----------------------------------------------------




枚举类型其实是一个final类型的类,早期没有枚举类型时就
采用public final static 类型来定义
而枚举类型的枚举值其实就是枚举类型的实例
-----------------------------------------------------------------------------------------------------------------
1.最简单的枚举
public class Sample {


    public enum ENUM_DEMO {E, N, U, M};
    
public static void main(String[] args) {
   System.out.println(Sample.ENUM_DEMO.N);
}
}
打印结果:N


-----------------------------------------------------------------------------------------------------------------
2.带构造函数的枚举
enum  Weeks {
    MON{ public String toString(){ return "星期一"; } },//构造函数返回中文对应的星期
TUES{ public String toString(){ return "星期二";} },
    WEB{ public String toString(){ return "星期三"; } },
    THUR{ public String toString(){ return "星期四";} },
FRI{ public String toString(){ return "星期五"; } },
    SAT{ public String toString(){ return "星期六"; } },
SUN{ public String toString(){ return "星期日"; } };
}


public class LightTest {
    public static void main(String[] args){
Week[] week = Weeks.values();//通过values方法打印Week
        for( Weeks w: week ){ //增强for循环 打印所有Week的枚举值
            System.out.println(w);
        }
System.out.println("Week.MON :"+Week.MON);//打印制定枚举值
System.out.println("Week.MON :"+Week.ordinal);
    }
}


-----------------------------------------------------------------------------------------------------------------


总结 
    枚举类型可以规范和约束运行时程序函数入参;  
枚举其实就是一个特殊的Class;  
Object有的方法他都有,因为它是Object的子类; 
枚举类型其实是一个final类型的类,所以他不能被继承;  
枚举类型不仅可以定义枚举值,它还可以定义构造函数,方法以及属性字段;  
枚举类型的构造函数必须是私有的,这个不难理解,因为如果是可见的话,它就不能起到规范和约束的作用;  
枚举类型允许有抽象函数;

你可能感兴趣的:(Java)