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

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

主講教師:王少華   QQ羣號:483773664

1、Java枚舉

(一)、枚舉的關鍵字是enum

1
2
3
public enum Grade {
 
}

(二)、枚舉也是一個類

一、枚舉的構造方法,默認是私有化的


二、枚舉的實例對象,默認public static final

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


三、枚舉的實例對象的變量名,必須放在全部內容以前


2、使用枚舉

(一)默認構造方法

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());
     }
}








相關文章
相關標籤/搜索