run*_*wim 3 java enums constructor
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;
}
Run Code Online (Sandbox Code Playgroud)
我在"运动员"课程中有这个代码,但是当我尝试在我的主要课程中实例化运动员时:
Athlete ath = new Athlete("Jim", "Denver", 33, enuGender.MALE);
Run Code Online (Sandbox Code Playgroud)
我被告知enuGender无法解析变量.我不能在构造函数中传递枚举值吗?
据推测,enuGender枚举嵌套在Athlete类中.要从该类外部引用该枚举,必须指定封闭的类名.尝试
Athlete ath = new Athlete("Jim", "Denver", 33, Athlete.enuGender.MALE);
Run Code Online (Sandbox Code Playgroud)
另一种方法是将枚举声明从Athlete类中拉出来,这样就不需要指定封闭的类名.
此外,枚举名称遵循类名称的Java约定; Gender是一个更好的名字.