开发者学堂课程【【名师课堂】Java 高级开发:枚举(枚举中定义其它结构)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/372/detail/4543
枚举(枚举中定义其它结构)
目录
一、 概念
二、 范例
一、 概念
虽然枚举等同于多例设计,但是多例设计是在一个类中产生的,所以该类中可以定义更多的属性或者是方法。
于是只依靠以上的上的概念只能够说产生了若干个对象,但是并没有方法去定义更多的结构,所以在枚举设计的时候考虑到了这些因素,提出了更强大的枚举设计方案:
可以在枚举里面定义属性、方法或者实现接口。
二、范例:在枚举中定义更多结构多例设计
package cn.mldn.demo;
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);
}
}
结果:红色
枚举本身还可以实现接口,这样枚举中的每一个对象实际上就都变为了接口对象。
范例:让枚举实现借口
package cn.mldn.demo;
interface Icolor {
public String getcolor ( )
}
enum Color implements Icolor { //实现了 Icolor 接口
RED("红色"),GREEN("绿色"),BLUE("蓝色");//如果定义有很多内容,枚举对象必须写在第一行
private String title ;
private Color(String title) { //构造方法绝对不能够使用 public
this.title = title;
}
public String toString() { // 覆写 object 类中的方法
return this.title ;
}
}
@Override
public String getColor() {
return this.title ;
}
}
public class TestDemo {
public static void main(String[ ] args) {
Icolor ic =Color.RED
System.out.println(ic.getColor() );
}
}
执行结果:红色
这些只能够算是枚举的扩展特点,而其它的语言里面枚举没那么高级。
只有这样一句话: RED.GREEN,BLUE