enum Day{SAT,SUN,MON,TUE,WED,THURS,FRI}
class Plan{
Day d;
public plan(Day d)
{
this.d=d;
}
Day getDay()
{
return d;
}
}
class tester{
public static void main(String[] args){
Plan p=new Plan(Day.SAT);
Day e=p.getDay();
System.out.println(e.MON);
}
}
在主要功能e
中使用Day.SAT
初始化,但为什么e.MON
不是错误?是否有意义初始化它?
答案 0 :(得分:1)
枚举值几乎是“仅”static final
个字段。在Java中,您可以通过引用访问静态字段。 不应该这样做,但是因为它令人困惑。
本质上这两行做同样的事情(假设在它们上面有一个Day e
定义):
System.out.println(Day.MON); // sane, normal way
System.out.println(e.MON); // supported, but discouraged way.
答案 1 :(得分:0)