Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将枚举传递到构造函数_Java - Fatal编程技术网

在Java中将枚举传递到构造函数

在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

我正在学习java。我希望在构造函数中有一个枚举作为参数。但是我犯了个错误 (我的枚举位于一个单独的类中,该类是公共的,名为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 +  '}';
    }

}**


如果需要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);