java中的枚举是什么意思?
Java的Enumeration(枚举,注释②)便是具有这些限制的一个反复器的例子。除下面这些外,不可再用它做其他任何事情:
(1)
用一个名为elements()的方法要求集合为我们提供一个Enumeration。我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。
(2)
用nextElement()获得下一个对象。
(3)
用hasMoreElements()检查序列中是否还有更多的对象。
②:“反复器”这个词在C++和OOP的其他地方是经常出现的,所以很难确定为什么Java的开发者采用了这样一个奇怪的名字。Java
1.2的集合库修正了这个问题以及其他许多问题。
用java写一个枚举类程序
package com.school.stereotype;
/**
* 活动枚举类型
* @author QiXuan.Chen
*/
public enum EventStatus {
/**
* 未发布。
*/
DRAFT(“DRAFT”, “未发布”),
/**
* 已发布。
*/
PUBLISHED(“PUBLISHED”, “已发布”);
/**
* 活动状态的值。
*/
private String value;
/**
* 活动状态的中文描述。
*/
private String text;
/**
* @param status 活动状态的值
* @param desc 活动状态的中文描述
*/
private EventStatus(String status, String desc) {
value = status;
text = desc;
}
/**
* @return 当前枚举对象的值。
*/
public String getValue() {
return value;
}
/**
* @return 当前状态的中文描述。
*/
public String getText() {
return text;
}
/**
* 根据活动状态的值获取枚举对象。
*
* @param status 活动状态的值
* @return 枚举对象
*/
public static EventStatus getInstance(String status) {
EventStatus[] allStatus = EventStatus.values();
for (EventStatus ws : allStatus) {
if (ws.getValue().equalsIgnoreCase(status)) {
return ws;
}
}
throw new IllegalArgumentException(“status值非法,没有符合课程状态的枚举对象”);
}
}
java枚举类的几点疑惑
先看一个简单的枚举类。
package enumcase;
public enum SeasonEnum {
SPRING,SUMMER,FALL,WINTER;
}
enum和class、interface的地位一样
使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。
枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。
java 枚举enum定义的方法与位置。
可以的,枚举的定义是这样的
public enum SEX{
MEN,WOMEN;
}
在其它类中引用枚举非常简单,可以向以前使用的java中的常量一样使用。
如
SEX.MEN或SEX.WOMEN
枚举和一般的类是一样的,有一个好处就是你使用的时候不用创建对象了,java帮我们创建好了。当然,在枚举里面也可以定义方法,建议你看一下这方面的书籍。
请问java枚举类型的枚举值是不是继承枚举类的一个对象啊?
确切的说java里有枚举类型enum,只可以用在类静态或者成员变量中,不可作为局部变量。
实际上这样声明的枚举类型是集继承于java.lang.Enum类的,但是我们不能直接继承枚举类,只能通过这种方法创建枚举对象。
示例
class Test {
private static enum test {
ffffff, blue, green
}
public static void main(String[] args) {
System.out.println(test.ffffff);
}
}