Java中的枚举Enum
2014-03-11 00:32
330 查看
在Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办?
Java中是这样解决的:定义一个私有的构造函数,然后在类中new出对象来。
有了枚举,一切都变得简单。
如果我要定义这样一个枚举类,让它能够返回对应日期的中文怎么办?我们可以定义枚举中的成员函数。
注意:构造函数一定要私有!
测试代码如下:
程序运行结果:
关于Java中枚举的总结:
1.枚举也是一种特殊形式的Java类
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象
3.与Java中普通类一样,在声明枚举类时,也可以声明属性、方法构造函数,但枚举类的构造函数必须为私有的
4.枚举类也可以实现接口,或继承抽象类
5.若枚举只有一个枚举值,则可以当做单态设计模式使用
最后需要明确的是:
Java中声明枚举类,均是java.lang.Enum类的子类,它继承了Enum类的所有方法。
具体方法可以参考Java API文档,里面提供了一些有用的方法。
Java中是这样解决的:定义一个私有的构造函数,然后在类中new出对象来。
public class Date { private Date() { } private static final Date Sunday = new Date(); private static final Date Monday = new Date(); private static final Date Tuesday = new Date(); private static final Date Wednesday = new Date(); private static final Date Thursday = new Date(); private static final Date Friday = new Date(); private static final Date Saturday= new Date(); }
有了枚举,一切都变得简单。
public enum Date { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; }
如果我要定义这样一个枚举类,让它能够返回对应日期的中文怎么办?我们可以定义枚举中的成员函数。
public enum Date { Sunday("星期天"), Monday("星期天"), Tuesday("星期天"), Wednesday("星期天"), Thursday( "星期天"), Friday("星期天"), Saturday("星期天"); private String value; private Date(String value) { this.value = value; } public String getValue() { return value; } }
注意:构造函数一定要私有!
测试代码如下:
public class EnumDemo { public static void main(String[] args) { System.out.println(Date.Sunday); System.out.println(Date.Sunday.getValue()); } }
程序运行结果:
Sunday 星期天
关于Java中枚举的总结:
1.枚举也是一种特殊形式的Java类
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象
3.与Java中普通类一样,在声明枚举类时,也可以声明属性、方法构造函数,但枚举类的构造函数必须为私有的
4.枚举类也可以实现接口,或继承抽象类
5.若枚举只有一个枚举值,则可以当做单态设计模式使用
最后需要明确的是:
Java中声明枚举类,均是java.lang.Enum类的子类,它继承了Enum类的所有方法。
具体方法可以参考Java API文档,里面提供了一些有用的方法。
相关文章推荐
- Java加密算法 RSA
- java 学习笔记8-异常处理
- java 学习笔记7-反射、内部类
- JAVA基础之集合数组详解
- java 学习笔记6-集合
- java 学习笔记5-抽象类、接口
- java 学习笔记4-static、final
- java 学习笔记3-类、对象、方法
- java 学习笔记2-变量、运算、数组
- java 学习笔记1-基础知识
- struts1(5)----表单校验与回显
- MyEclipse 如何最佳设置
- java线程之——sleep()与wait()的区别
- [JAVA] Hibernate多对一关联
- java随机验证码生成实现实例代码
- Spring学习专列1
- ubuntu下安装jdk
- java.lang.UnsupportedOperationException
- spring MVC 框架结构
- spring mvc 框架 “Hello World!”