记录我对枚举的初识

  初始枚举:

  1. 测试枚举常用的方法
  2. 如何定义枚举的构造函数、方法和字段,去封装更多的信息
展开
 1 package com.zhou.enumeration;

 2 

 3 import org.junit.Test;

 4 

 5 public class Enum_test {

 6     

 7     

 8     @Test

 9     public void test(){

10         print(Grade.A);

11     }

12     

13     

14     //测试枚举常用的方法

15     @Test

16     public void test2(){

17         System.out.println(Grade.A.name());//得到枚举名称

18         System.out.println(Grade.D.ordinal());//得到枚举位子   0开始

19         

20         

21         //将字符串转化为枚举

22         String str="B";

23         Grade g3=Grade.valueOf(Grade.class, str);

24         Grade g2=Grade.valueOf(str);

25         System.out.println(g2+"  "+g3);

26         

27         

28         Grade g[]=Grade.values();//得到枚举所有的值

29         for(Grade gr :g){

30             System.out.println(gr);

31         }

32     }

33     

34     

35     public void print(Grade g){

36         String vlaue=g.getNum();

37         System.out.println("您的成绩:"+vlaue);

38     }

39     

40     

41      

42 }

43 /*    class Grade{

44         

45         private Grade(){}

46             public static final Grade A=new Grade();

47             public static final Grade B=new Grade();

48             public static final Grade C=new Grade();

49             public static final Grade D=new Grade();

50             public static final Grade E=new Grade();

51         

52     }*/

53 //如何定义枚举的构造函数、方法和字段,去封装更多的信息

54 enum Grade{

55     A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");

56     

57     private String num; //封装每个对应的分数

58     private Grade (String num) {

59         this.num = num;

60     }

61     

62 

63     public String getNum() {

64         return num;

65     }

66 

67     

68 }


枚举的应用:

  1. 带抽象方法的枚举
View Code
 1 package com.zhou.enumeration;

 2 

 3 import org.junit.Test;

 4 

 5 public class Enum2 {

 6 

 7     @Test

 8     public void test() {

 9         print(Grades.A);

10     }

11 

12     public void print(Grades g) {

13         String vlaue = g.getNum();

14         String grad = g.localValus();

15         System.out.println("您的成绩:" + vlaue + " 等级为:" + grad);

16     }

17 

18 }

19 

20 // 带抽象方法的枚举

21 enum Grades {

22     A("100-90") {

23         public String localValus() {

24             return "优";

25         }

26     },

27 

28     B("89-80") {

29         public String localValus() {

30             return "良";

31         }

32     },

33 

34     C("79-70") {

35         public String localValus() {

36             return "一般";

37         }

38     },

39 

40     D("69-60") {

41         public String localValus() {

42             return "差";

43         }

44     },

45 

46     E("59-0") {

47         public String localValus() {

48             return "不及格";

49         }

50     };

51 

52     private String num; // 封装每个对应的分数

53 

54     private Grades(String num) {

55         this.num = num;

56     }

57 

58     public String getNum() {

59         return num;

60     }

61 

62     public abstract String localValus();

63 

64 }

                        初识枚举  希望大家能给点好的建议和资料供参考

 

你可能感兴趣的:(枚举)