跟王老師學枚舉(二):使用枚舉
主講教師:王少華 QQ羣號:483773664
一、Java枚舉
(一)、枚舉的關鍵字是enum
123 public
enum
Grade {
}
(二)、枚舉也是一個類
1、枚舉的構造方法,默認是私有化的
1 2 3 | public enum Grade { } |
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()); } } |