public class Movie {
private String title, director;
private float overallRating;
private enum showingStatus {ComingSoon, Preview, NowShowing};
public Movie(String title, enum showingStatus, String director)
{
this.title = title;
this.showingStatus = showingStatus;
this.director = director;
overallRating = 0;
}
}
当某人创建Movie
对象时,他们仅通过我定义的清单,如何以这种方式进行限制showingStatus
?
我也想定义get和set方法,但是它们会抛出注释中指出的错误
public void setShowingStatus(enum showingStatus){ this.showingStatus = showingStatus;} // showingStatus cannot be resolved or not a field
public String getShowingStatus() { return showingStatus; } // showingStatus cannot be resolved to a variable
我认为这可能是您要寻找的。
public class Movie {
private String title, director;
private float overallRating;
private ShowingStatus showingStatus;
public enum ShowingStatus {ComingSoon, Preview, NowShowing}
public Movie(String title, ShowingStatus showingStatus, String director)
{
this.title = title;
this.showingStatus = showingStatus;
this.director = director;
overallRating = 0;
}
}
编辑:
这是同一回事。enum
传入变量时不能声明类型。随你便成为它。在这种情况下,我将其设置为ShowingStatus
,因此您会说:
public void setShowingStatus(ShowingStatus showingStatus){ this.showingStatus = showingStatus;} // showingStatus cannot be resolved or not a field
public ShowingStatus getShowingStatus() { return showingStatus; } // showingStatus cannot be resolved to a variable
要允许ShowingStatus枚举被其他类使用,请执行以下操作创建一个单独的枚举文件:
public enum ShowingStatus {
ComingSoon, Preview, NowShowing
}
现在,其他类应该能够调用ShowingStatus.ComingSoon
ShowingStatus内的任何其他枚举元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句