Java基础加强-java5的枚举
2014-08-08 09:09
225 查看
枚举类
(1)为什么需要枚举?
一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。
(2)JDK 5新增的 enum 关键字用于定义一个枚举类。
(3)枚举类具有如下特性:
1、枚举类也是一种特殊形式的Java类。
2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
3、与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
4、枚举类也可以实现接口、或继承抽象类。
5、JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。
若枚举类只有一个枚举值,则可以当作单态设计模式使用。
练习:请编写一个关于星期几的枚举WeekDay,要求:
枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun
该枚举要有一个方法,调用该方法返回中文格式的星期。
(3)Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。常用方法:
name()
ordinal()
valueof(Class enumClass, String name)
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。
(1)为什么需要枚举?
一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。
(2)JDK 5新增的 enum 关键字用于定义一个枚举类。
(3)枚举类具有如下特性:
1、枚举类也是一种特殊形式的Java类。
2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
3、与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
4、枚举类也可以实现接口、或继承抽象类。
5、JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。
若枚举类只有一个枚举值,则可以当作单态设计模式使用。
练习:请编写一个关于星期几的枚举WeekDay,要求:
枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun
该枚举要有一个方法,调用该方法返回中文格式的星期。
(3)Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。常用方法:
name()
ordinal()
valueof(Class enumClass, String name)
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。
相关文章推荐
- 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
- <黑马程序员>枚举--(java基础加强1.5新特性)
- 黑马程序员 java基础加强——jdk1.5新特性—枚举
- JAVA基础加强之枚举
- 黑马程序员 java基础知识加强---枚举
- java基础加强--实现带有抽象方法的枚举
- 黑马程序员_java基础加强-枚举和反射
- Java 基础加强 - JDK1.5 新特性 - 枚举
- 黑马程序员_java基础加强学习之枚举
- Java基础加强---枚举
- 黑马程序员—Java基础加强—(枚举)
- Java基础加强--自动装箱、享元模式、枚举
- Java基础加强: Jdk1.5新特性 枚举
- java 基础加强 类的枚举
- java-基础加强之枚举
- 黑马程序员-Java基础加强之枚举
- 黑马程序员--Java基础加强--01.枚举常量被使用的时候的内存图
- Java基础加强之二---枚举
- JAVA基础加强篇——反射和枚举
- 黑马程序员--Java基础加强(2)-- JDK1.5新特性之可变参数,增强for,自动拆装箱,枚举