Java枚举类型
Java枚举(enum)是一种特殊的类型,是一组预定义的常量 每个常量都有一个name和value
枚举类型使用
枚举类型定义
/**
* public 限定词
* enum 枚举关键字
* Color 枚举类型名称
*/
public enum Color {
/**
* WHITE, BLACK, RED 枚举类型常量 用逗号分割
* 都拥有一个名称与一个值
* 通常都是大写字母命名 多个单词之间使用下划线分割
*/
WHITE, BLACK, RED
}
枚举类型的使用
/**
* 有一个隐式的父类 java.lang.Enum
* public 限定词
* enum 枚举关键字
* Color 枚举类型名称
*/
public enum Color implements Printable {
/**
* WHITE, BLACK, RED 枚举类型常量 用逗号分割
* 都拥有一个名称与一个值
* 通常都是大写字母命名 多个单词之间使用下划线分割
* 使用构造器初始化常量的值
*/
WHITE("白色"), BLACK("黑色"), RED("红色");
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 枚举方法
* 所有枚举常量都可以调用
*/
public boolean isRed() {
return this == RED;
}
/**
* 构造器
* 只能在枚举常量的定义中被调用 且只能用来初始化枚举常量的值
*
* @param name
*/
Color(String name) {
this.name = name;
}
/**
* 实现接口
*/
@Override
public void showColor() {
System.out.println("颜色是: " + this.getName());
}
}
interface Printable {
void showColor();
}
class Exec {
public static void main(String[] args) {
//使用枚举类型的名称来访问枚举常量
Color white = Color.WHITE;
Color.WHITE.isRed();
System.out.println(Color.RED.getName());
Color.RED.showColor();
}
}