现在我们做一个学生类,类中要求有:名称(name),年龄(age),性别(sex)
其中的名称可以使用String类,age可以使用byte类,但是唯独性别没有适合的类承载,因为性别只有两种,男和女,我们也可以使用String类型,然后在set里面加上判断,但是未免太过麻烦,所以我们要使用枚举来解决这个问题
枚举:
一个枚举类中可以定义多个常量,如果一个变量的类型是枚举类,那么这个变量的值只能是这个枚举类中常量之一
枚举定义的关键字是 enum
案例:
public enum StudentGender {
男,
女,
人妖,
怪兽
}
然后我们定义一个学生类,让学生类中性别的属性为我们刚定义的枚举类
public class Student {
private String name;
private short age;
private StudentGender gender;
public Student() {
}
public Student(String name, short age, StudentGender gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public short getAge() {
return age;
}
public void setAge(short age) {
this.age = age;
}
public StudentGender getGender() {
return gender;
}
public void setGender(StudentGender gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
'}';
}
}
使用:
public class Main {
public static void main(String[] args) {
Student student = new Student();
student.setName("李彦庆");
student.setAge((short) 19);
student.setGender(StudentGender.男); // 此时这里就使用了枚举类型
System.out.println(student.toString());
}
}