调用枚举的方法TL;DR了解幕后的枚举
我有以下枚举:
enum Days{
TODAY{
@Override
public Date getLowerBound(){
another(); //1
currentUpperBound(); //2
return null;
}
@Override
public Date another() {
return null;
}
};
public abstract Date getLowerBound();
public abstract Date another();
private Date currentUpperBound(){
return null;
}
}
为什么会导致编译时错误//2
Cannot make a static reference to the non-static method
currentUpperBound() from the type Days
但是编译好吗?这两种方法都是非静态的。我看不出任何问题...也许它与Eclipse有关?//1
更新:正如@Florian Schaetz在评论中注意到的那样,如果我们声明具有修饰符的方法,它将正常工作。为什么?static private