三种方法
//tostring()
Season1 spring = Season1.spring;
System.out.println(spring.toString());
//values()
Season1[] values = Season1.values();
for (int i = 0;i < values.length; i++){
System.out.println(values[i]);
}
Thread.State[] values1 = Thread.State.values();
for (int i = 0;i < values1.length;i++){
System.out.println(values1[i]);
}
//valueof(string objName):返回枚举类中对象名是objName的对象
//如果没有objName枚举类对象 则抛异常
Season1 winter = Season1.valueOf(“winter”);
System.out.println(winter);
使用Enum关键字定义枚举类实现接口的情况
1.实现接口 在enum类中实现抽象方法
2.让枚举类的对象分别实现在接口中的抽象方法
interface Info{
void show();
}
//使用enum关键字枚举类
enum Season1 implements Info {
//1.提供当前枚举类的多个对象 多个对象之间逗号隔开 末尾对象分号结束
spring(“春天”, “春暖花开”){
@Override
public void show() {
System.out.println(“春天在哪里”);
}
},
summer(“夏天”, “夏日炎炎”){
@Override
public void show() {
System.out.println(“宁静的夏天”);
}
},
autumn(“秋天”, “秋高气爽”){
@Override
public void show() {
System.out.println(“秋天不回来”);
}
},
winter(“冬天”, “冰天雪地”){
@Override
public void show() {
System.out.println(“大约在冬季”);
}
};
//2.声明Season对象的属性
private final String seasonName;
private final String seasonDesc;
//3.私有化类的构造器
private Season1(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//4.其他诉求1:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public void show() {
System.out.println("这是一个季节");
}
}