枚举
在我们设计一个类时,例如Person,里面的Sex我们常常会用字符串来表示:
public class Person { private String name; private String sex; public Person() { } public Person(String name, String sex) { this.name = name; this.sex = sex; } // 省略get/set/toString方法 }
然而我们在创建对象时,sex可以为任意字符串,这就会导致一些不合法的输入。针对这种情况,我们可以给出几个固定的参数作为合法参数,这就是枚举。
枚举的基本语法
枚举的概念
枚举是一种特殊类。枚举是有固定实例个数的类型,我们可以把枚举理解成有固定个数实例的多例模式。
创建枚举类
public enum Sex{ 男, 女 }
public class Me extends Student { public enum Sex{ 男, 女 } public static class Person{ public String name; public int age; public Sex sex; public Person() { } public Person(int age, Sex sex) { this.age = age; this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Sex getSex() { return sex; } public void setSex(Sex sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Person(String name, int age, Sex sex) { this.name = name; this.age = age; this.sex = sex; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", sex=" + sex + '}'; } } public static void main(String[] args) { Person person1 = new Person("徐耀东",21,Sex.女); System.out.println(person1.toString()); } }