Java面向对象基础知识之枚举
简介
在Java语言中,枚举类型是一种特殊的类,它是一组有限的值的集合,这些值是事先确定好的,称为枚举常量。枚举类型用来表示那些具有固定数量、固定名称的数据类型。
基本语法
在Java中,枚举类型定义时需要使用enum
关键字,基本语法如下:
enum 枚举名称 {
枚举常量1,
枚举常量2,
...
枚举常量n
}
其中,枚举名称
是一个标识符,用来表示这个枚举类型的名称;枚举常量1
、枚举常量2
、...、枚举常量n
是这个枚举类型的枚举常量,它们是由逗号分隔的一组常量。
枚举类型的定义通常会放在一个单独的源文件中,并且这个源文件的名称必须和枚举类型的名称相同。例如,定义一个颜色的枚举类型如下:
public enum Color {
RED, GREEN, BLUE
}
枚举类型的方法
枚举类型可以定义自己的方法。例如,给上面定义的颜色枚举类型定义一个getColorValue()
方法,用来获取一个颜色的值,代码如下:
public enum Color {
RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF);
private final int value;
Color(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
上面的代码中,枚举常量RED
、GREEN
、BLUE
都有一个对应的整数值,这个值在枚举类型中是用final int
类型变量存储的。在枚举类型中定义了一个构造方法,用来初始化这个值。此外,还定义了一个getValue()
方法,用来获取这个整数值。
枚举类型的使用
使用枚举类型时,可以通过枚举类型的名称获取一个枚举常量。例如,获取颜色枚举类型的RED
常量的值,代码如下:
Color.RED.getValue();
可以看出,这种方式非常直观和方便。
示例说明
示例1:定义一个星期枚举类型
public enum WeekDay {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
上面的代码定义了一个星期枚举类型,其中包含7个枚举常量,分别对应星期一到星期天。使用该枚举类型的方法如下:
WeekDay today = WeekDay.TUESDAY;
switch (today) {
case MONDAY:
System.out.println("今天是星期一");
break;
case TUESDAY:
System.out.println("今天是星期二");
break;
case WEDNESDAY:
System.out.println("今天是星期三");
break;
case THURSDAY:
System.out.println("今天是星期四");
break;
case FRIDAY:
System.out.println("今天是星期五");
break;
case SATURDAY:
System.out.println("今天是星期六");
break;
case SUNDAY:
System.out.println("今天是星期日");
break;
default:
System.out.println("你是什么神仙?");
break;
}
示例2:定义一个颜色枚举类型
public enum Color {
RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF);
private final int value;
Color(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
上面的代码定义了一个颜色枚举类型,其中包含3个枚举常量:RED
、GREEN
和BLUE
。使用该枚举类型的方法如下:
Color color = Color.GREEN;
System.out.println("颜色的值为:" + color.getValue());
运行后输出结果为:颜色的值为:65280
。可以看出,颜色枚举类型中的枚举常量都具有一个对应的整数值,这个值可以通过枚举常量的getValue()
方法获取到。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java面向对象基础知识之枚举 - Python技术站