记录我对枚举的初识
初始枚举:
- 测试枚举常用的方法
- 如何定义枚举的构造函数、方法和字段,去封装更多的信息

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 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?