"Java面向对象-枚举的操作细节"的笔记

什么是学习笔记?

你在学习中想写的批注、摘抄及随感。

使用协议与隐私政策

感谢您使用网易云课堂!

为了更好地保障您的个人权益,请认真阅读《使用协议》《隐私政策》《服务条款》的全部内容,同意并接受全部条款后开始使用我们的产品和服务。若不同意,将无法使用我们的产品和服务。

同意
Java面向对象-枚举的操作细节, //枚举的操作细节 /* 需求: 定义一个Employee(员工),使 用一个变量restday来表示他哪一天休息(一周的哪一天). --------------------------------- 枚举的使用: 1):枚举中都是全局公共的静态常量, 可以直接使用枚举类名调用. Weekday day = Weekday.SATURDAY; 2):因为java.lang.Enum类是所有枚举类的父类, 所以所有的枚举对象可以调用Enum类中的方法. String name = 枚举对象.name(); //返回枚举对象的常量名称 int ordinal = 枚举对象.ordinal(); //返回枚举对象的序号,从0开始 String str = 枚举对象.toString();//返回枚举对象的常量名称 3):编译器生成的枚举类的静态方法(从反编译代码中): 枚举类型[] values(); //返回当前枚举类型所有的常量,使用一个数组封装起来. Weekday[] ws = Weekday.values(); 枚举类型 valueof(String name); //把一个指定名称字符串转换为当前枚举类中同名的常量. Weekday day = Weekday.valueOf("MONDAY"); 4):从java5开始出现枚举,switch也支持操作枚举类型. switch只支持int类型, 支持枚举是因为底层使用的枚举对象的ordinal, 而ordinal的类型依然是int类型. */ //枚举定义星期几的常量类 enum Weekday {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;} //员工类 class Employee { private Weekday restday;//一周的哪一天休息 public Weekday getRestday() { return restday; } public void setRestday (Weekday restday) { this.restday = restday; } } class EnumDemo2 { public static void main(String[] args) { //创建一个员工对象,并设置他哪一天休息 Employee e = new Employee(); Weekday restday = e.getRestday(); if (restday == Weekday.SATURDAY || restday == Weekday.SUNDAY) { System.out.println("周末休息"); } else { System.out.println("周末木有休息"); } System.out.println("~=~=~=~=~=~=~"); System.out.println(Weekday.SUNDAY);//默认:返回枚举对象的常量名称 System.out.println(Weekday.SUNDAY.toString());//返回枚举对象的常量名称(同上,同下) System.out.println(Weekday.SUNDAY.name());//返回枚举对象的常量名称 System.out.println(Weekday.SUNDAY.ordinal());//返回枚举对象的序号,从0开始 System.out.println("~=~=~=~=~=~=~"); //返回当前枚举类型所有的常量,使用一个数组封装起来 Weekday[] ws = Weekday.values(); for(Weekday day : ws) { System.out.println(day); } System.out.println("~=~=~=~=~=~=~"); //把一个指定名称字符串转换为当前枚举类中同名的常量 System.out.println(Weekday.valueOf("MONDAY")); System.out.println("~=~=~=~=~=~=~"); switch (Weekday.SUNDAY)//底层调用ordinal { case MONDAY : break; case TUESDAY : break; case WEDNESDAY : break; case THURSDAY : break; case FRIDAY : break; case SATURDAY : break; case SUNDAY : break; } } }
手机课堂
下载App
返回顶部