[英]Passing a enum into a constructor in Java
I am learning java. 我正在学习Java。 I would like to have a enum as a parameter in my constructor.
我想在我的构造函数中有一个枚举作为参数。 But I am getting an error (I have my enum in a separate class that is public and named AvailabilityState {AVAILABLE,ORDERED,REMOVED }
但是我遇到了一个错误(我的枚举存在于一个单独的类中,该类是公共的,并命名为AvailabilityState {AVAILABLE,ORDERED,REMOVED}
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 + '}';
}
}**
If you require a parameter of type AvailabilityState, you should provide it, like so: 如果需要类型为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);
Alternatively, define another constructor with default availability state: 或者,定义另一个具有默认可用性状态的构造函数:
public Facultymember(int genbook, int audbook) {
// assuming availability by default
this(genbook, audbook, AvailabilityState.AVAILABLE);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.