观看老韩的教学视频所得感悟,感谢老韩
package com.hspedu.enum_;
/**
* @author 飞行札记
* @Version 1.0
*/
public class EnumExercise01 {
public static void main(String[] args) {
Season3 autumn = Season3.AUTUMN;
//返回当前对象名,子类不能重写
System.out.println(autumn.name());
//返回当前对象位置号,默认从0开始,此处输出2
System.out.println(autumn.ordinal());
//返回当前枚举类中所有的常量
Season3[] values = Season3.values();
for (Season3 season3 : values) {
System.out.println(season3);
}
//将字符串转换成枚举对象,字符串必须是已有的常量名
Season3 autumn1 = Season3.valueOf("SUMMER");
System.out.println(autumn1);
//compareTo: 比较两者编号 AUTUMN = 0 , SUMMER = 3
System.out.println(Season3.AUTUMN.compareTo(Season3.SUMMER));
int[] nums = {1, 2, 9};
for (int i : nums) {
System.out.println(i);
}
}
}
enum Season3 {
SPRING("春天", "温暖"), SUMMER("夏天", "炎热"),
AUTUMN("秋天", "凉爽"), WINTER("冬天", "寒冷"),
WHAT;
private String name;
private String desc;
private Season3(String name, String desc) {
this.name = name;
this.desc = desc;
}
private Season3() {
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
1.enum关键字继承了Enum
2.枚举类也可以实现接口
package com.hspedu.enum_;
/**
* @author 飞行札记
* @Version 1.0
*/
public class EnumExercise02 {
public static void main(String[] args) {
Enum02[] enum02 = Enum02.values();
for (Enum02 a : enum02) {
System.out.println(a);
}
Music.CLASSIC_MUSIC.playing();
}
}
enum Enum02 {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期日");
public String day;
Enum02(String day) {
this.day = day;
}
@Override
public String toString() {
return "Enum02{" +
"day='" + day + '\'' +
'}';
}
}
interface IPlaying{
public void playing();
}
enum Music implements IPlaying{
CLASSIC_MUSIC("古典音乐");
public String name;
@Override
public void playing() {
System.out.println("播放好听的音乐");
}
Music(String name) {
this.name = name;
}
}