枚举类型

Java 5.0新引进了一种类型:枚举类型。昨晚看了一下,语法还是比较复杂的,至少比C的枚举要复杂的很多,不过功能也强大了很多。具体语法请参见 JLS 8.9
1、定义一个功能简单的枚举类型,更定义一个简单的类很相似,例如
package  basic;
public   enum  Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
跟类定义一样,枚举类型可以单独放在一个文件里,当一个枚举类型用public修饰时,它对其他包可见,否则只对同一个包中的类可见,这和类定义是一样的。
标识符 MONDAY, TUESDAY等就称为枚举常量(enumeration constants)
每一个枚举常量被隐式的声明成Day的一个public、static成员,而且其类型为Day,亦就是说这些常量是self-typed的
2、下面的定义也是合法的:
package basic;

public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY,
}

package basic;

public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY,;
}

package basic;

public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
但是当枚举类型有其他定义时,则分号;是必须的



关于Vector的JDK 里的一个函数
public Enumeration<E> elements() {
return new Enumeration<E>() {
    int count = 0;

    public boolean hasMoreElements() {
return count < elementCount;
    }

    public E nextElement() {
synchronized (Vector.this) {
    if (count < elementCount) {
return (E)elementData[count++];
    }
}
throw new NoSuchElementException("Vector Enumeration");
    }
};
    }

涉及到了enumeration

你可能感兴趣的:(枚举)