//学生的实体类
public class Student {
private String name; // 姓名
private Gender sex; // 性别
public Gender getSex() {
return sex;
}
public void setSex(Gender sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Student(String name, Gender sex) {
super();
this.name = name;
this.sex = sex;
}
public Student() {
super();
}
@Override
public String toString() {
return "Student [name=" + name + ", sex=" + sex + "]";
}
// 测试方法
public static void main(String[] args) {
// 创建student对象
Student student = new Student();
/**
* 给学生对象的性别属性赋值
student.setSex("人妖"); 不健康的输入
怎么解决?
01.在对应的set方法中加入逻辑判断
02.使用enum
001.创建一个枚举类
002.创建枚举值
003.把需要限定的属性的类型改成枚举类即可!
student.setSex(Gender.男); ===>枚举类中有 男,女
System.out.println("学生的性别是:" + student.getSex());
*/
student.setSex(Gender.Man);
System.out.println("学生的性别是:" + student.getSex());
// Gender.values()获取所有的枚举值 是个数组
for (Gender g : Gender.values()) {
System.out.println(g.getSex());
}
}
}
2.枚举类
**
* 枚举类
* 01.限定用户的输入
* 02.所有的枚举值都是static final修饰的!(静态常量)
* 03.构造必须是私有的!防止外部访问!
*/
public enum Gender {
Man(1, "男"), Woman(0, "女");// 枚举值
private int index;
private String sex;
private Gender(int index, String sex) {
this.index = index;
this.sex = sex;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}