虽然枚举等同于多例设计,但是多例设计是在一个类中产生的,所以该类中可以定义更多的属性或者是方法。于是只依靠以上的概念只能够说产生了若干个对象,但是并没有方法去定义更多的结构,所以在枚举设计的时候考虑到了这些因素,提出了更强大的枚举设计方案:
可以在枚举里面定义属性、方法、或者实现接口。
范例:在枚举中定义更多的结构
enum Color{
RED("红色"),GREEN("绿色"),BLUE("蓝色");//如果定义有多个内容,枚举对象必须写在第一行
private String title;
private Color(String title) {//枚举就是多例设计,构造方法绝对不能够使用public
this.title=title;
}
public String toString() {//覆写Object类中的方法
return this.title;
}
}
public class TestDemo {
public static void main(String[] args) {
System.out.println(Color.RED);
}
}
枚举本身还可以实现接口,这样枚举中的每一个对象实际上都变为了接口对象。
范例:让枚举实现接口
interface IColor{
public String getColor();
}
enum Color implements IColor{
RED("红色"),GREEN("绿色"),BLUE("蓝色");
private String title;
private Color(String title) {
this.title=title;
}
public String toString() {//覆写Object类中的方法
return this.title;
}
public String getColor() {
return this.title;
}
}
public class TestDemo {
public static void main(String[] args) {
IColor ic=Color.RED;
System.out.println(ic.getColor());
}
}
这些只能够算是枚举的扩展特点,而其它语言里面枚举没这么高级。