跟王老師學枚舉(二):使用枚舉

跟王老師學枚舉(二):使用枚舉

主講教師:王少華   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());
    }
}










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章