[学习笔记] Java枚举
作者:互联网
枚举
在Java中,枚举是一种特殊的类,一般用于表示一组常量;
定义枚举时使用enum关键字,各个常量使用逗号分隔;
enum Color //定义枚举 { RED, GREEN, BLUE; } public class Test{ public static void main(String[] args){ Color c=Color.RED; System.out.println(c); } }
也可以在类的内部定义枚举:
public class Test{ enum Color{ RED, GREEN, BLUE; } public static void main(String[] args){ Color c=Color.BLUE; System.out.println(c); } }
每个枚举都以内部类的形式实现,且所有的枚举值都是public static final的,所以以上的枚举转换为内部类的形式为:
class Color{ public static final Color RED=new Color(); public static final Color GREEN=new Color(); public static final Color BLUE=new Color(); }
迭代枚举元素
可以使用for循环来遍历枚举元素
enum Color { RED, GREEN, BLUE; }
public class Test { public static void main(String[] args) { for (Color c : Color.values()) { System.out.println(c); } } }
枚举类与switch语句结合
enum Color { RED, GREEN, BLUE; }
public class Test { public static void main(String[] args) { Color c = Color.BLUE; switch(c) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; } } }
枚举类的常用方法
使用enum关键字定义的枚举默认继承 java.lang.Enum 类并实现 java.lang.Serializable 和j ava.lang.Comparable 接口;
枚举的常用方法:
- values()方法
返回枚举类中所有的值;
- ordinal()方法
找到每个枚举常量的索引;
- valueOf()方法
返回指定字符串的枚举常量;
枚举类成员
枚举类也可以拥有变量、方法包括构造方法,但构造方法只能使用private访问修饰符修饰,因此外部类无法调用;
枚举类的方法既可以是具体方法,也可以是抽象方法,若枚举类具有抽象方法,则枚举类的每个对象都需要对其进行实现;
enum Color{ RED{ public String getColor(){//枚举对象实现抽象方法 return "红色"; } }, GREEN{ public String getColor(){//枚举对象实现抽象方法 return "绿色"; } }, BLUE{ public String getColor(){//枚举对象实现抽象方法 return "蓝色"; } };
public abstract String getColor();//定义抽象方法 } public class Test{ public static void main(String[] args) { for (Color c:Color.values()){ System.out.print(c.getColor() + " "); } } }
标签:BLUE,Java,String,Color,笔记,枚举,static,public 来源: https://www.cnblogs.com/cloudyzcy/p/16345482.html