public static enum enuGender{
MALE,
FEMALE,
UNKNOWN
}
public enuGender gender;
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Constructors &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
public Athlete(String firstName, String lastName, int age, enuGender gender) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.gender = gender;
}
我在“运动员”课程中有这个代码,但是当我尝试在我的主要课程中实例化运动员时:
Athlete ath = new Athlete("Jim", "Denver", 33, enuGender.MALE);
我被告知enuGender无法解析变量。我不能在构造函数中传递枚举值吗?
答案 0 :(得分:9)
大概enuGender
枚举嵌套在Athlete
类中。要从该类外部引用该枚举,必须指定封闭的类名。尝试
Athlete ath = new Athlete("Jim", "Denver", 33, Athlete.enuGender.MALE);
另一种方法是将该枚举声明从Athlete
类中拉出来,这样就不需要指定封闭的类名。
此外,枚举名称遵循类名称的Java约定; Gender
是一个更好的名字。