Javaweb微专业第十讲-----枚举类

1.没有枚举类(java5)以前

class Grade{
        pivate Grade(){} //私有化构造函数
        public static final Grade A = new Grade();
        public static final Grade B = new Grade();
        public static final Grade C = new Grade();
        public static final Grade D = new Grade();
        public static final Grade E = new Grade();
        public static final Grade F = new Grade();
    }

2.有了枚举enum以后

    enum Grade{
        A,B,C,D,E;//枚举值,相当于类的对象
    }

3.带构造函数与方法的枚举

enum Grade{
        A("90-100"),B("80-89"),C("70-79"),D("60-69"),E("0-50"); //这里相当于对象可以
        private String value;
        private Grade(String value){
            this value=value;
        }
        public String getValue(){
            return this.value;
        }
    }

4.带抽象方法的枚举

    enum Grade{
        A("90-100"){
            //实现抽象方法
            public String localValue(){
                return "优秀";
            }
        },
        B("80-89"){
            //实现抽象方法
            public String localValue(){
                return "良好";
            }
        },
        C("70-79"){
            //实现抽象方法
            public String localValue(){
                return "一般";
            }
        },
        D("60-69"){
            //实现抽象方法
            public String localValue(){
                return "及格";
            }
        },
        E("0-50"){
            //实现抽象方法
            public String localValue(){
                return "不及格";
            }
        }; 
        //这里相当于对象可以
        private String value;
        private Grade(String value){
            this value=value;
        }
        public String getValue(){
            return this.value;
        }
        public abstract String localValue();
    }

5.枚举的其他细节

1.枚举类也是一种特殊形式的java类
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象
3.与java中的普通类一样,在声明美剧类时,也可以声明属性、方法和构造函数,但是在枚举类的构造函数必须为私有的
4.枚举类也可以实现接口、或继承抽象类
5.美剧类只有一个枚举值,则可以当作单态设计模式使用
6.所有枚举类都是Enum类的子类,枚举对象不能继承其他类
7.枚举类常用方法
name() 枚举类的名称
ordinal() 枚举类的位置
valueof(Class enumClass,String name) 字符串转换成枚举类
valueof(String name)

猜你喜欢

转载自blog.csdn.net/fj_Author/article/details/53935374
今日推荐