簡體   English   中英

將枚舉傳遞給Java中的構造函數

[英]Passing a enum into a constructor in 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 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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM