在Java中将枚举传递到构造函数
我正在学习java。我希望在构造函数中有一个枚举作为参数。但是我犯了个错误 (我的枚举位于一个单独的类中,该类是公共的,名为AvailabilityState{AVAILABLE,ORDERED,REMOVED}在Java中将枚举传递到构造函数,java,Java,我正在学习java。我希望在构造函数中有一个枚举作为参数。但是我犯了个错误 (我的枚举位于一个单独的类中,该类是公共的,名为AvailabilityState{AVAILABLE,ORDERED,REMOVED} public class Facultymember extends User { private int MAX_GENERALBOOKS = 5; private int MAX_AUDIOBOOKS = 2; private AvailabilityState aStatus
public class Facultymember extends User {
private int MAX_GENERALBOOKS = 5;
private int MAX_AUDIOBOOKS = 2;
private AvailabilityState aStatus;
public Facultymember(int genbook, int audbook,AvailabilityState aStatus ){
this.MAX_GENERALBOOKS=genbook;
this.MAX_AUDIOBOOKS=audbook;
this.aStatus = aStatus;
}
@Override
public String toString() {
return "Facultymember {" + "MAX_GENERALBOOKS=" + MAX_GENERALBOOKS+ ", MAX_AUDIOBOOKS =" + MAX_AUDIOBOOKS + "AvailabilityState," + aStatus + '}';
}
}**
如果需要AvailabilityState类型的参数,则应提供该参数,如下所示:
User availableFaculty = new Facultymember(5,2, AvailabilityState.AVAILABLE);
User orderedFaculty = new Facultymember(5,2, AvailabilityState.ORDERED);
User removedFaculty = new Facultymember(5,2, AvailabilityState.REMOVED);
或者,定义另一个具有默认可用性状态的构造函数:
public Facultymember(int genbook, int audbook) {
// assuming availability by default
this(genbook, audbook, AvailabilityState.AVAILABLE);
}
请包括错误消息及其出现的行。@4everMe该构造函数调用没有您定义的构造函数所需的AvailabilityState。请使用默认AvailabilityState创建另一个构造函数,或在构造函数调用中提供一个构造函数。@4everMe。您使用两个参数调用构造函数(
genbook
和audbook
),但您定义的构造函数需要三个参数(genbook
、audbook
和aStatus
)。请将正确数量的参数传递给构造函数,或者创建一个单独的构造函数,该构造函数仅需要genbook
和audbook
,如果这是代码的有效方法。类facultymember中的构造函数facultymember不能应用于给定类型构造函数类facultymember中的facultymember不能被应用适用于给定类型的用户facultymember=新facultymember(5,2);