/*
public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN }
enum很像特殊的class,实际上enum声明定义的类型就是一个类。只要是枚举类都继承了Enum类。
枚举值都是public static final的,也就是常量,因此枚举类中的枚举值应全部大写.
枚举类型是class ,在枚举类型中有构造器,方法和字段。但枚举的构造器有很大的不同:
构造器只是在构造枚举值得时候被调用
构造器私有private ,不允许有Public 构造器
*/
public class EnumDemo{
public static void main(String[] args){
System.out.println(Color.BULE);
Color[] colors=Color.values();
/*for(Color c:colors){
System.out.println(c);
}*/
Person[] persons=Person.values();
for(int i=0;i<persons.length;i++){
System.out.println(persons[i]);
}
}
}
//当jvm去加载使用枚举类型的对象供外部使用
//public static final Color RED=new Color();
//public static final Color BULE=new Color();
//public static final Color YELLOW=new Color();
enum Color{//相当于RED(),BULE(),YELLOW(),调用无参构造方法
RED,BULE,YELLOW;//有几个值就有几个枚举类型的对象。,枚举类型的值必须作为第一条语句出现。
private Color(){
System.out.println("构造方法");
}//构造了三个对象,所以会在
}
enum Person{
P1("张三",20),P2("李四",18),P3("王五",21);
private String name;
private int age;
private Person(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return name+"--"+age;
}
}
枚举类型
最新推荐文章于 2022-07-19 19:53:30 发布