[修饰符] enum [枚举名][:基础类型]
{
枚举成员[, 枚举成员]
}
注意:如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型是 int。
-
枚举可用于switch
-
枚举默认
static
修饰,枚举成员public static final
修饰 -
枚举的实质是类,枚举继承自
java.lang.Enum
类,但是java类只能继承一个类,所以枚举不能继承类,但是可以实现接口 -
枚举可以添加属性和方法,但是只能放在枚举成员之后,构造函数只能使用 private 访问修饰符,所以外部无法调用。
-
枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举类的每个枚举成员都必须实现它。
enum Color{ RED{ public String getColor(){//枚举对象实现抽象方法 return "红色"; } }, GREEN{ public String getColor(){//枚举对象实现抽象方法 return "绿色"; } }, BLUE{ public String getColor(){//枚举对象实现抽象方法 return "蓝色"; } }; public abstract String getColor();//定义抽象方法 }
-
通过括号赋值,而且必须带有一个有参构造器和一个属性跟方法,否则编译出错,枚举成员后的括号就是传给构造器的值
赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错