1.定义一个枚举类:
1 package com.example.eum; 2 3 public enum Gender { 4 // 枚举中包含比要的常量,也可以包含属性、方法,私有构造方法 5 // 枚举常量必须放在最前面,多个常量用逗号分隔,最后写分号 6 // 必须包含常量,可以没有其他的成员 7 MALE, FEMALE; 8 9 // 私有属性 10 private String name; 11 12 // 公有属性 13 public int age; 14 15 // 私有构造方法 16 private Gender() { 17 18 } 19 20 // 私有方法 21 private void show() { 22 23 } 24 25 // 共有方法 26 public void show2() { 27 28 } 29 30 // 静态方法 31 static void show3() { 32 33 } 34 }
使用枚举变量
1 package com.example.eum; 2 3 public class TestGender { 4 5 public static void main(String[] args) { 6 Gender gen = Gender.MALE; 7 gen.show2();// 调用示例方法 8 Gender.show3();// 调用静态方法 9 10 // switch后面可以用的类型有:byte、short、int、char、String、Enum 11 switch (gen) { 12 case MALE: 13 System.out.println("male"); 14 break; 15 case FEMALE: 16 System.out.println("female"); 17 break; 18 default: 19 System.out.println("undefined"); 20 break; 21 } 22 } 23 }
枚举的本质是一个继承了Enum的final类 。
而枚举中的常量,是static final的本类型常量。
类似于以下的代码(示意代码,语法会报错)
1 package com.example.eum; 2 3 public final class Train extends Enum { 4 5 public static final Train train1; 6 public static final Train train2; 7 }