目录
一、枚举类是什么?
public enum Color{
RED,BLUE,YELLOW;
}
enum很像特殊的class,实际上enum声明定义的类型就是一个类
这些类都是类库中Enum类的子类(java.lang.Enum<E>),它们继承了Enum中许多有用的方
法
枚举值都是public static final的,也就是常量,因此枚举类中的枚举值应全部大写
枚举类型是class,在枚举类型中有构造器,方法和字段。
但枚举的构造器有很大的不同
构造器只是在构造枚举值的时候被调用
枚举可以在switch语句中使用
public class EnumDemo {
public static void main(String[] args) {
/*枚举类默认的方法.values()取值,返回枚举类型的数组*/
Person1[] person1 = Person1.values();
for (Person1 p: person1){
System.out.println(p);
}
Person1 P3 =Person1.P3;
switch (P3){
case P1:
System.out.println(Person1.P1);
break;
case P2:
System.out.println(Person1.P1);
break;
case P3:
System.out.println("-----------------");
System.out.println(Person1.P1);
break;
}
}
}
/*JVM加载枚举类时,会预先创建多个枚举类型的对象*/
/*public static final Person1 person1 = new Person1("张三",20);*//*省去*/
/*不带参数可以省略()*/
/*很方便建立常量对象*/
enum Person1{
/*枚举类型的值必须作为第一条语句出现*/
P1("张三",20),P2("李四",30),P3("王五",40);;
private String name;
private int age;
/*构造器私有private,不允许有public构造器*/
private Person1(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+"------"+age;
}
}