无参构造方式创建
package enums.demo1;
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;
}
package enums.demo1;
public class Demo1 {
public static void main(String[] args) {
System.out.println(Season.SPRING);
System.out.println(Season.SUMMER);
System.out.println(Season.AUTUMN);
System.out.println(Season.WINTER);
}
}
- 运行结果
有参方式构造
无抽象方法
package enums.demo3;
public enum Season {
SPRING("春"),SUMMER("夏"),AUTUMN("秋"),WINTER("冬");
public String name;
Season(String name){
this.name = name;
}
public String toString(){
return this.name;
}
}
package enums.demo3;
public class Demo3 {
public static void main(String[] args) {
Season season = Season.SPRING;
System.out.println("Season.SPRING.name()= "+season.name());
System.out.println("直接打印season="+season);
System.out.println("通过名字拿到枚举对象"+ Season.valueOf("SPRING"));
System.out.println( (Season.valueOf("SPRING") == Season.SPRING));
}
}
- 运行结果
有抽象方法
package enums.demo2;
public enum Season {
SPRING("春"){
@Override
public String show() {
return this.name;
}
},SUMMER("夏"){
@Override
public String show() {
return this.name;
}
},AUTUMN("秋"){
@Override
public String show() {
return this.name;
}
},WINTER("冬"){
@Override
public String show() {
return this.name;
}
};
public String name;
Season(String name){
this.name = name;
}
public abstract String show();
}
package enums.demo2;
public class Demo2 {
public static void main(String[] args) {
System.out.println("打印Season.SPRING");
Season season = Season.SPRING;
System.out.println(season);
System.out.println("调用枚举对象Season.SPRING的show方法");
System.out.println(season.show());
System.out.println("Season.SPRING 序号:"+Season.SPRING.ordinal());
System.out.println("Season.SUMMER 序号:"+Season.SUMMER.ordinal());
System.out.println("Season.AUTUMN 序号:"+season.AUTUMN.ordinal());
System.out.println("Season.WINTER 序号:"+season.WINTER.ordinal());
System.out.println("SPRING compareTo WINTER = "+(Season.SPRING.compareTo(Season.WINTER)));
Season season1 = Enum.valueOf(Season.class,"WINTER");
System.out.println("拿到的枚举对象:"+season1);
System.out.println((Season.WINTER == season1));
System.out.println("遍历所有枚举项");
for (Season season2 : Season.values()){
System.out.println(season2);
}
}
}
- 运行结果