关键词:enum
punlic enum Color{
Red,BULE,BLACK
}
enum 很像特殊的class,实际上enum 声明定义的类型就是一个类。这些类都是类库中Enum类的子类(Java.lang.Enum<E>),它们继承了Enum中许多有用的方法
枚举值都是public static final 的,也就是常量,因此枚举类中的枚举值都要大写;
枚举类型是class,在枚举类型中有构造器,方法和字段,但枚举的构造器有很大不同:
- 构造器只是在构造枚举值的时候被调用
- 构造器私有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;
}
}