我正在為即將到來的考試做一些修改,我對在物件的建構式中使用列舉有點困惑。
這是我為 country() 類提出的代碼,其中問題要求包括每個國家/地區物件的聯合國成員狀態。
public class Country {
private String name;
private enum Status {NOTMEMBER, GENERALASSEMBLY, TEMPORARYSC, PERMANENTSC};
private boolean duesPaid;
public Country(String name, Status status, boolean duesPaid) {
this.name = name;
this.Status = status;
this.duesPaid = duesPaid;
}
public String getName() {
return name;
}
public Status getStatus() {
return Status;
}
public boolean hasPaidDues() {
return duesPaid;
}
public void changeStatus(Status status) {
this.Status = status;
}
}
我想知道如何正確地將列舉作為引數傳遞。我知道列舉的語法是 enum.VARIABLE,但我在這方面嘗試過的一切都沒有正常作業。有沒有更好的方法來做到這一點?
uj5u.com熱心網友回復:
您的列舉宣告必須是公開的,否則呼叫者無法訪問其值:
public enum Status {NOTMEMBER, GENERALASSEMBLY, TEMPORARYSC, PERMANENTSC};
public class Country
{
private String name;
private boolean duesPaid;
private Status status;
public Country(String name, Status status, boolean duesPaid) {
this.name = name;
this.Status = status;
this.duesPaid = duesPaid;
}
// getters setters left out for brevity
}
如果在類中宣告,它仍然必須是公共的,然后可以使用 訪問Country.Status,例如Country.Status.NOTMEMBER。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/342783.html
上一篇:為什么這段代碼不起作用?沒有輸出
