JDK1.5 之 枚举
来源:互联网 发布:cms 文章收费 编辑:程序博客网 时间:2024/06/06 17:39
为什么要有枚举
问题:在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
在Java中如何更好的使用这些“数据集”呢?
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
枚举是一种特殊的类
枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象。既然相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法。
【注意】
枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后要有分号与其他成员分隔。把枚举中的成员方法或变量等放在枚举元素的前面,编译器报告错误。
枚举的使用
- 作为常量使用,可以替代public static final ...,体现面向对象的思想;
- 可以用在Switch语句中,最新的JDK1.7版本,Switch语句已经支持了String类型,可以替代大量的if...else,效率更高;
- 既然枚举是类,可以有方法,重写方法,实现接口等;
枚举只有一个成员时,就可以作为一种单例的实现方式。
示例代码:
public interface ColorProperty { public void show(); } public enum Color implements ColorProperty { /* * 实现自定义的抽象方法 */ RED("#FF0000") { @Override void print() { System.out.println("print red!"); } }, GREEN("绿色", "#00FF00") { @Override void print() { System.out.println("print green!"); } }, BLUE("蓝色", "#0000FF") { @Override void print() { System.out.println("print blue!"); } }; private String name; private String index; /* * 构造方法 */ private Color(String name, String index) { this.name = name; this.index = index; } /* * 构造方法 */ private Color(String index) { this.index = index; } /* * 重写方法 */ @Override public String toString() { return this.index + "_" + this.name; } /* * 实现接口中的方法 */ @Override public void show() { System.out.println(this.name + ": " + this.index); } /* * 自定义抽象方法 */ abstract void print(); }
- JDK1.5 之 枚举
- java jDK1.5 之枚举
- JDK1.5新特性之枚举
- JDK1.5新特性之枚举
- jdk1.5新特性之-----枚举
- jdk1.5新特性之枚举
- JDK1.5枚举类型
- JDK1.5 enum 枚举
- 黑马程序员-----jdk1.5新特性之枚举
- 谈谈JDK1.5新特性之枚举数据类型
- java--加强之 jdk1.5简单新特性,枚举,注解
- 黑马程序员—JDK1.5新特性之枚举enum
- JDK1.5之可变参数枚举反射内省动态代理
- java--------学习之《JDK1.5新特性,枚举,反射机制》
- jdk1.5新特性5之枚举之模拟枚举类型
- jdk1.5新特性5之枚举之枚举类型的应用
- 掌握JDK1.5枚举类型
- 掌握JDK1.5枚举类型
- boost::asio网络传输错误码的一些实验结果(recv error_code )
- 二叉树建立 以及 bfs层次遍历
- ecshop开发必备
- Linux下的top命令
- String,StringBuffer与StringBuilder的区别
- JDK1.5 之 枚举
- C++类
- QLineEdit之文本不被选中
- 黑马程序员:Java基础篇之String字符串
- Screen 操作快捷键
- c语言
- android:gravity 与android:layout_gravity
- 社交游戏的鲸鱼理论【信息图】
- java随机数生成的几种方式