定义一个枚举类 package enumTest; /* * 枚举类型是和class interface 一样的, 默认继承了Enum类 */ public enum Person { //public static final //这是枚举的实例. 有且只有这几个实例. 不能再创建实例构造方法是private的 zhangShan, liSi(26), wangWu(35), zhugx; int age; private Person(){ System.out.println("** This is the Person construtor ."); } private Person(int age){ this.age = age; System.out.println("** set age"); } public void say(){ if(age != 0){ System.out.println("My age is " + this.age); }else{ System.out.println("--hello---"); } } public int getAge(){ return this.age; } } 使用枚举类型 package enumTest; public class Test { public static void main(String[] args) { // 首先会先生成4个实例对象, 调用构造方法 Person a = Person.liSi; System.out.println(); switch(a){ case wangWu: System.out.println("wangWu is coming."); break; case liSi: System.out.println("liSi is coming."); break; case zhangShan: System.out.println("zhangShan is coming."); break; } // 获取实例属性 System.out.println(a.getAge()); // 调用实例方法 a.say(); System.out.println(); // 调用Enum继承过来的方法 System.out.println("Enum: "+ a.ordinal()); System.out.println("Enum: "+a.name()); Person[] persons = Person.values(); for(Person p: persons){ System.out.println(p.toString()); } } } 输出 ** This is the Person construtor . ** set age ** set age ** This is the Person construtor . liSi is coming. 26 My age is 26 Enum: 1 Enum: liSi zhangShan liSi wangWu zhugx