1.自定义枚举
// 自定义枚举 JDK5.0之前
public class enumTest {
public static void main(String[] args) {
Season Spring = Season.SPRING;
System.out.println(Spring);
Season Summer = Season.SUMMER;
System.out.println(Summer);
Season Autumn = Season.AUTUMN;
System.out.println(Autumn);
Season Winter = Season.WINTER;
System.out.println(Winter);
}
}
class Season{
//1.声明Season对象的属性:private final修饰
private final String season;
private final String describe;
//2.私有化类的构造器,并给对象属性赋值
private Season(String season,String describe){
this.season = season;
this.describe = describe;
}
//3.提供当前枚举类的多个对象:public static final的
public static final Season SPRING = new Season("春天","春暖花开");
public static final Season SUMMER = new Season("夏天","夏日炎炎");
public static final Season AUTUMN = new Season("秋天","秋高气爽");
public static final Season WINTER = new Season("冬天","白雪皑皑");
//4. 获取对象的属性
public String getSeason() {
return season;
}
public String getDescribe() {
return describe;
}
//重写toString方法
@Override
public String toString() {
return "Season{" +
"seasonName='" + season + '\'' +
", seasonDesc='" + describe + '\'' +
'}';
}
}
- 使用enum类
public class enumTest1 {
public static void main(String[] args) {
Season1 s = Season1.SPRING;
//方法1 toString():返回枚举类对象的名称 SPRING
System.out.println(s.toString());
System.out.println("----------------------------------");
//方法2 values():返回所有的枚举类对象构成的数组
Season1[] allSeason = Season1.values();
for (int i = 0; i < allSeason.length; i++) {
System.out.println(allSeason[i]);
}
System.out.println("----------------------------------");
//方法3 valueOf(String objName):返回枚举类中对象名是objName的对象。
Season1 summer = Season1.valueOf("SUMMER");
System.out.println(summer.getDescribe());
summer.show();
}
}
interface Info{
void show();
}
// 使用enum类 定义的枚举类默认继承于java.lang.Enum类
enum Season1 implements Info{ //实现接口
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("大约在冬季");
}
};
private final String season;
private final String describe;
private Season1(String season,String describe){
this.season = season;
this.describe = describe;
}
public String getSeason() {
return season;
}
public String getDescribe() {
return describe;
}
// @Override
// public void show() {
// System.out.println("这是一个季节");
// }
}