开发者学堂课程【【名师课堂】Java 高级开发:枚举(多例与枚举)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/372/detail/4541
枚举(多例与枚举)
内容简介
一、具体内容
二、总结
一、具体内容
枚举是几乎所有编程语言都支持的数据类型,而在java诞生十多年后才追加了枚举,所以可以得出一个结论:
从事 Java 开发可以不会枚举。
认识枚举
认识枚举就必须回顾一下多例设计模式。多例设计模式特点:构造方法私有化,而后类内部需要提供有若干个实例化对象,后面通过 static 方法返回。
范例:定义一个描述颜色基色的多例设计类:
package cn.mldn. demo;
class color i
private static final color RED = new Color("RED") ;
private static final color GREEN = new color( "GREEN") ;
private static final color BLUE = new color("BLUE") ;
private string title ;
private color(string title) {
this.title = title ;
}
public static color getInstance( int ch) [
switch (ch) {
case 0 : return RED ;
case 1 : return GREEN ;
case 2 : return BLUE ;
default : return null ;
}
}
public string tostring() {
return this.title ;
这是一个基础的多例设计模式,而后调用的时候只需要:
public static void main(String[ ] args) { System. out. println();}
后边跟上Coloe.getInstance(0)
形成:
public static void main(String[ ] args) { System. out. println(Coloe.getInstance(0));}
执行就会出现 RED
以上的做法实在 JDK1.5 之前的做法,这样做的目的是限制本类实例化对象的产生个数。但是从 JDK1.5 开始有了枚举,所以代码开发简单了:
范例:基于枚举开发
比如 enum Color{RED,GREEN,BLUE}。同样后边跟上 RED:
package cn.mldn.demo;
enum Color {
RED,GREEN,BLUE
}
public class TestDemo {
public static void main(String[ ] args) {
system.out.print1n(Color.RED);
}
执行得到的结果和刚才一模一样。
二、总结
实际上所谓的枚举就是一种高级的多例设计模式,这就是枚举的基本概念。