java新特性-枚举

时间:2022-10-11 16:57:36


定义

将一组有限集合创建为一种新的类型,集合里面的值可以作为程序组件使用;

简单枚举

package enumTest;

public enum
Color1 color1 = Color1.RED;
Color1 color2 = Color1.RED;
System.out.println(color1 == color2);

for(Color1 color : Color1.values()){
System.out.println(color);

结果

true

有构造方法的枚举

public enum Color2 {
RED("红色"), GREEN("绿色"), BLUE("蓝色");//必须在第一行,否则报错

private String desc;

Color2(String desc) {//要么没有权限访问修饰符,要么为private
this.desc = desc;
}
}

有自定义方法的枚举

package enumTest;

public enum Color3 {
RED("红色"), GREEN("绿色"), BLUE("蓝色");

private String desc;

Color3(String desc) {
this.desc = desc;
}

public String getDesc() {
return desc;
}

public void setDesc(String desc) {
this.desc = desc;
}

public String toString() {
return this.desc;
}
}

有抽象方法的枚举

package enumTest;

public enum Color4 {
RED() {
@Override
public void desc() {
System.out.println("红色");
}
},
GREEN() {
@Override
public void desc() {
System.out.println("绿色");
}
},
BLUE() {
@Override
public void desc() {
System.out.println("蓝色");
}
};

public abstract void desc();
}