枚舉定義:
enum是計算機編程語言中的一種數據類型。枚舉類型:在實際問題中,有些變量的取值被限定在一個有限的范圍內。例如,一個星期內只有七天,一年只有十二個月,一個班每周有六門課程等等。如果把這些量說明為整型, 字符型或其它類型顯然是不妥當的。為此,C語言提供了一種稱為“枚舉”的類型。在“枚舉”類型的定義中列舉出所有可能的取值,被說明為該“枚舉”類型的變 量取值不能超過定義的范圍。應該說明的是,枚舉類型是一種基本數據類型,而不是一種構造類型,因為它不能再分解為任何基本類型。
java中枚舉類總結:
1.枚舉是一種特殊的數據類型。
2.枚舉中包含枚舉常量和普通常量。
3.每一個枚舉常量,都是當前枚舉類型的一個實例對象。
看代碼:
1 public class Demo { 2 3 public static void main(String[] args) { 4 Person zhangsan = Person.zhangsan; 5 zhangsan.setAge(25); 6 System.out.println(zhangsan instanceof Person);//true 7 } 8 9 } 10 11 enum Person { 12 13 zhangsan(20, "zhangsan"),lisi(21, "lisi");//定義帶有默認值的枚舉常量 14 15 /** 16 * 普通數據類型 17 */ 18 private AtomicInteger count = new AtomicInteger(); 19 private int age; 20 private String name; 21 22 /** 23 * 枚舉的構造函數 24 * @param age 25 * @param name 26 */ 27 private Person(int age, String name) { 28 this.age = age; 29 this.name = name; 30 System.out.println("init count:"+count.addAndGet(1)); 31 } 32 33 34 /** 35 * @return the age 36 */ 37 public int getAge() { 38 return age; 39 } 40 41 42 /** 43 * @param age the age to set 44 */ 45 public void setAge(int age) { 46 this.age = age; 47 } 48 49 50 /** 51 * @return the name 52 */ 53 public String getName() { 54 return name; 55 } 56 57 58 /** 59 * @param name the name to set 60 */ 61 public void setName(String name) { 62 this.name = name; 63 } 64 65 }