Java面向对象编程5——枚举
程序员文章站
2022-06-03 23:51:47
...
Java面向对象编程5——枚举
1、枚举的概念
在日常生活中这些事物的取值只有明确的几个固定值,此时描述这些事 物的所有值都可以一一列举出来,而这个列举出来的类型就叫做枚举类型
2、枚举的定义
- 使用public static final表示的常量描述较为繁琐,使用enum关键字来定 义枚举类型取代常量,枚举类型是从Java5开始增加的一种引用数据类型
- 枚举值就是当前类的类型,也就是指向本类的对象,默认使用public static final关键字共同修饰,因此采用枚举类型.的方式调用
public enum Color {
RED,
BLUE,
YELLOW
}
枚举类可以自定义构造方法,但是构造方法的修饰符必须是private,默认也是私有的
public enum Color {
RED("红"),
BLUE("蓝"),
YELLOW("黄");
private String introduce;
public String getIntroduce() {
return introduce;
}
private Color(String introduce){
this.introduce = introduce;
}
}
public class Test {
public static void main(String[] args) {
System.out.println(Color.RED.getIntroduce());
}
}
带抽象方法的枚举类
public enum Color {
RED("红"){
@Override
public String getIntroduce() {
return "红";
}
},
BLUE("蓝"){
@Override
public String getIntroduce() {
return "蓝";
}
},
YELLOW("黄"){
@Override
public String getIntroduce() {
return "黄";
}
};
private String introduce;
public abstract String getIntroduce();
private Color(String introduce){
this.introduce = introduce;
}
}
public class Test {
public static void main(String[] args) {
System.out.println(Color.BLUE.getIntroduce());
}
}
3、枚举的常用方法
public enum Color {
RED,
BLUE,
YELLOW
}
public class Test {
public static void main(String[] args) {
//返回枚举常量的名称
System.out.println(Color.RED.name());
//返回枚举常量的序号(下标从0开始)
System.out.println(Color.RED.ordinal());
//遍历枚举
Color[] colors=Color.values();
for (Color color : colors) {
System.out.println(color.name());
}
// 使用 valueOf() 返回枚举常量,不存在的会报错 java.lang.IllegalArgumentException
System.out.println(Color.valueOf("RED"));
System.out.println(Color.valueOf("GRAY"));
}
}
上一篇: Oracle存储过程实例
下一篇: 纪念写的第一篇LOW到爆的存储过程!