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

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

主讲教师:王少华   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());
     }
}








相关文章
相关标签/搜索