记录我对枚举的初识
初始枚举:
- 测试枚举常用的方法
- 如何定义枚举的构造函数、方法和字段,去封装更多的信息
展开
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 }
枚举的应用:
- 带抽象方法的枚举
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 }
初识枚举 希望大家能给点好的建议和资料供参考
不要让昨天的沮丧 让今天的梦想黯然失色
成功的人总是修改方法而不修改目标
微信公众号:javenlife