枚举的基本概念
范例:枚举的使用
enum Color {
RED,GREEN,BLUE
}
public class TestDemo {
public static void main(String[] args) {
System.out.println(Color.BLUE);
}
}
使用enum关键字定义的枚举结构实际上是默认继承了Enum类的枚举类。
Enum类中存在两大属性
name:枚举对象名称
ordinal:枚举对象数字下标
在Enum类里面有以下方法:
1.构造方法
protected Enum(String name, int ordinal)
2.取得枚举对象名称
public final string name();
3.取得枚举对象下标
public final int ordinal();
范例:取得所以枚举类的数据
enum Color{
RED,BLUE,GREEN;
}
public class homework2 {
public static void main(String[] args){
for(Color color:Color.values()){
System.out.println(color);//覆写了toString方法
}
}
}
enum与Enum区别:
enum是一个关键字,使用enum定义的枚举类本质上就相对于一个类继承了Enum这个抽象类而已。
枚举中定义其他结构
- 枚举中若定义构造方法,构造方法必须用private封装(枚举类是多例类,枚举外部无法产生对象)
- 枚举中若定义其他结构,枚举对象声明必须放在枚举的首行
范例:
enum Color{
RED("红色"),BLUE("蓝色"),GREEN("绿色");
private String str;
private Color(String str){
this.str=str;
}
@Override
public String toString() {
return this.str;
}
}
public class homework2 {
public static void main(String[] args){
for(Color color:Color.values()){
System.out.println(color);
}
}
}
枚举实现接口
枚举还可以实现接口,这样枚举中的每一个对象都变成了接口对象。
范例:枚举实现接口
interface IColor{
public String getColor();
}
enum Color implements IColor{
RED("红色"),BLUE("蓝色"),GREEN("绿色");
private String str;
private Color(String str){
this.str=str;
}
@Override
public String toString() {
return this.str;
}
public String getColor(){
return this.str;
}
}
public class homework2 {
public static void main(String[] args){
for(Color color:Color.values()){
System.out.println(color);
}
IColor color=Color.BLUE;//向上转型为接口
System.out.println(color.getColor());
}
}