java【枚举类】

关键词:enum

punlic enum Color{

    Red,BULE,BLACK

}

enum 很像特殊的class,实际上enum 声明定义的类型就是一个类。这些类都是类库中Enum类的子类(Java.lang.Enum<E>),它们继承了Enum中许多有用的方法

枚举值都是public static final 的,也就是常量,因此枚举类中的枚举值都要大写;

枚举类型是class,在枚举类型中有构造器,方法和字段,但枚举的构造器有很大不同:

  1. 构造器只是在构造枚举值的时候被调用
  2. 构造器私有private ,不允许有public构造器

枚举可以在switch中使用

public class Main{
    public static void main(String []args){
        System.out.printf(Red);
        Color [] colors = Color.values();
        for(Color c:colors){
             System.out.printf(Red);
        }
        System.out.printf(Person.P1);
        Person p =Person.P1;
        Switch(p){
            case P1:
                  System.out.printf(Person.P1); 
            break;
            case P12:
                  System.out.printf(Person.P2); 
            break;
        } 
    }
}

//当jvm加载使用枚举类的时候,会预先创建多个枚举类型的对象供外部选择
//public static fianl Color Red = new Color();
//public static fianl Color BULE= new Color();

punlic enum Color{

    Red,BULE,BLACK;    //枚举类型的值必须作为第一条语句出现
    private color{
         System.out.printf("构造方法");
    }
}

punlic enum Person{
    P1("张三",12),P2("李四",25),P3("王二",34);
    private String name;
    private int age;
    private Person(String name,int age){
        this.name = name;
        this.age = age;
    }
    public String toString(){
        return name+"---"+agee;
    }
   
}

猜你喜欢

转载自blog.csdn.net/qq_40788793/article/details/84762765