跟王老师学枚举:使用枚举

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学枚举:使用枚举相关的知识,希望对你有一定的参考价值。

跟王老师学枚举(二):使用枚举

主讲教师:王少华   QQ群号:483773664

一、Java枚举

(一)、枚举的关键字是enum

1
2
3
public enum Grade {
 
}

(二)、枚举也是一个类

1、枚举的构造方法,默认是私有化的

技术分享

2、枚举的实例对象,默认public static final

1
2
3
public enum Grade {
    A,B,C,D,E
}

技术分享

3、枚举的实例对象的变量名,必须放在所有内容之前

技术分享

二、使用枚举

(一)默认构造方法

1
2
3
public enum Grade {
    A,B,C,D,E
}
1
2
3
4
public class Student {
    private String name;    //姓名
    private Grade grade=Grade.A;    //成绩:A B C D E
}
1
2
3
4
5
6
public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student();
        student.setGrade(Grade.A);
    }
}

(二)有参数的构造方法

1
2
3
4
5
6
7
8
9
10
11
public enum Grade {
    A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");
    private String value;
 
    private Grade(String value) {
        this.value = value;
    }
    public String getValue() {
        return value;
    }
}
1
2
3
4
5
6
7
8
public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student();
        student.setGrade(Grade.A);
        //输出指定级别的分数范围
        System.out.println(Grade.B.getValue());
    }
}

(三)内部类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public enum Grade {
    A("100-90"){
        public String getLocString(){
            return "优";
        }
    },
    B("89-80"){
        public String getLocString(){
            return "好";
        }
    },
    C("79-70"){
        public String getLocString(){
            return "良";
        }
    },
    D("69-60"){
        public String getLocString(){
            return "及格";
        }
    },
    E("59-0"){
        public String getLocString(){
            return "不及格";
        }
    };
    private String value;
 
    private Grade(String value) {
        this.value = value;
    }
    public String getValue() {
        return value;
    }
    public abstract String getLocString();
}
1
2
3
4
5
6
7
8
9
public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student();
        student.setGrade(Grade.A);
        //输出指定级别的分数范围
        System.out.println(Grade.B.getValue());
        System.out.println(Grade.C.getLocString());
    }
}










以上是关于跟王老师学枚举:使用枚举的主要内容,如果未能解决你的问题,请参考以下文章

跟王老师学枚举:枚举类练习

跟王老师学枚举为什么需要枚举

韩顺平循序渐进学Java零基础 第11章 枚举和注解

java枚举类型

对比Java学Kotlin枚举

对比Java学Kotlin枚举