在java JDK6 中如何使用枚举类型

在java JDK6 中如何使用枚举类型,第1张

在JDK6中也能照常实用的,你可以这样试一下:
enum Direction {L, LU, U, RU, R, RD, D, LD, STOP}
public class TestEnumeration {
public static void main(String[] args) {
//TODO
}
}

枚举是一种特殊类型的映射,你就理解成一个个键值对就可以了。
man("男"),
woman("女");相对于普通类中的静态块。
当然就可以通过MySex属性名进行调用了。由于是特殊的映射,value为默认取值的方法。当然就可以通过属性value进行取值了。

Java中具有多个值的枚举, 具有字符串值的 Java 枚举, 枚举与 Java
为了得到好,有两种方法可以实现这一点,第一种是为每个枚举常量覆盖 toString() 方法,第二种是使用实例变量来保存。

这里我的一点小笔记你看看吧:看不明白就找找相关书籍
※枚举(enum):
1Java 5 新增,是类类型,但不能使用new
不能继承其他类,也不能作为超类,即不能扩展但隐式继承自javalangEnum类,可以实现接口
2枚举包括两个预定义方法:
public static enum-type[] values();
public static enum-type valueOf(String st); 用于for-each循环遍历枚举常量
且可以用”==”来判断两个枚举常量是否相等
从Enum继承而来三个方法:
final int ordinal() ----返回常量顺序值
final int compareTo(enum-Type e) -----同一枚举中比较顺序值
final Boolean equals(enum-type e) -----同一枚举中是否相等,相当于”==”
3在switch表达示中case语句不需也不能加入枚举的类型,否则会出错
4枚举是类类型,可以定义构造函数,且可以重载,同样也可定义其他的实例方法和变量,这些每一个枚举常量都有自己的一个副本甚至可以定义静态的成员可以实现接口
如:public enum Answer implements DoAnswer{
Perfect(10),Good(8),Common(5),Bad(2),Terrible;//枚举常量,相当于public static Answer类型
public static int type=1; //定义一个静态成员
private int degree; //定义一个实例成员变量
private Answer(){ //定义一个不带参数的构造函数,注只能为private的,默认也一样
degree=-1;
}
private Answer(int d){ //定义一个带参数的重载构造函数
degree=d;
}
public String getProblem(){ //实现接口方法
return DoAnswerPROBLEM;
}
public int getDegree(){ //定义一个实例成员函数
return degree;
}
public Answer getAnswer(){ //定义一个返回自身的成员函数,每一个常量都有自己的副本
return this;
}
}

举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK15之前,我们定义常量都是:public static fianl。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。

枚举 一般就是能数得清的东西。像交通指示灯就只有三个颜色:黄、绿、红
这样有限的东西,如果我们写个类就显得很多余了,所以就有了枚举。在你写的枚举中 red、blue、black都是color中的一种。用枚举color来显示color有哪些。将其写在枚举color中。
调用red的时候就需要枚举名变量(其实这里说red是变量是不合适的,只是为了方便理解。)变量和它的值是一样的。 所以输出的就是red了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13332048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存