第4章
4.8枚举类型:
特殊的类类型,用于表示一组不变的常量。关键字Enum。
隐含扩展java.lang.Enum抽象类,是Obiect类的直接子类。
4.8.1 基本的枚举类型及使用
1、每个枚举常量代表该枚举类型的一个实例,这些实例在枚举类型装入并初始化时自动创建。
2、与普通类一样,每一个枚举类型编译后会产生一个.class文件。
3、使用格式<枚举类型名>.<枚举常量名>引用一个枚举常量。枚举常量的引用也可以是赋给枚举类型的变量。也可以是null。
4、比较枚举常量是否相等可以使用equals方法,最直接的还是使用相等比较运算符(==)
5、嵌套的枚举类型:在类体内定义枚举类型,只能是静态的,static可显示给出或默认。访问级别:public(默认),privat,protected。
5、非嵌套的枚举类型:在类体外定义,访问级别默认(应该是???)
6、一般意义讲,所有的枚举类型都是最终的具体类型,不能被扩展,不能使用funal或abstract修饰。
7、Java不支持多重继承,不可使用extends。
4.8.2枚举类型的方法
枚举方法的类型:包括一下几种。
Enum类定义枚举类型共同的一些枚举行为方法 | 返回值 |
---|---|
final String name() | 枚举常量的名称 |
final int oridinal() | 序号 |
String toString() | 字符串表示 |
隐含提供以下两个类方法 | 返回值 |
static E[] values | 返回包含该枚举类型所有常量的数组,各枚举常量值按定义时的顺序排列(E指该枚举类型 |
static E ValueOf(String name) | 返回枚举类型指定名称的常量 |
4.8.3带参数的枚举常量与构造方法
1、在枚举类型中,除枚举常量列表,还可以 定义构造方法、成员变量和方法等。此时枚举常量列表以分号(;)结尾,其他语法相应出现在后面。//应该是具有类的基本功能。
2、