【发布时间】:2017-10-28 10:05:04
【问题描述】:
我的枚举是一周中的几天。我想写方法prevDay(),它会修改每个
Day day
键入使其相等
Day.MON
调用以下代码时出现错误:
错误 - 赋值左侧必须是变量。
public enum Day {
MON, TUE, WED, THU, FRI, SAT, SUN;
public static main(String[] args){
Day d= Day.TUE;
d.prevDay();
}
public void prevDay(){
this=Day.MON;
}
}
但如果我打电话:
public enum Day{
MON, TUE, WED, THU, FRI, SAT, SUN;
public static main(String[] args){
Day d= Day.TUE;
d=d.prevDay();// if I change this line to: "d.prevDay() "
} // will day also be modified?
public Day prevDay(){
return Day.MON;
}
}
没有错误。为什么?
【问题讨论】:
-
这是什么语言?错误告诉你什么?你是怎么调用这个方法的?
-
给我-4000 反对票或告诉我我必须在我的问题中修改什么以使其更好,因为我不知道。
-
(1) 最初您没有指定错误,但您至少在一定程度上纠正了该错误。 (2) 您仍然没有指定这是什么语言。 (3)
return=Day.MON;运行没有错误似乎非常不可能,我以前从未见过这种语法。 (4) 你想要完成什么,为什么?注意说明你在说什么以及你在问什么。如果您的问题对您来说不够重要,不值得您关注,那么它不太可能值得我们关注。